jquery 为什么html.textbox不生成data-val属性,而html.textboxFor却可以?

ukqbszuj  于 2023-01-25  发布在  jQuery
关注(0)|答案(1)|浏览(139)

我在一个剃刀页面中有一个表单,我使用jquery实现客户端验证,jquery不引人注目,jquery验证和数据注解一起验证模型。
使用强类型文本框,我获得了使用ValidationMessage()方法显示错误所需的data-val属性。
然而,当我使用松散类型的文本框的数据值属性没有得到生成,这是为什么?
它对Html.Textbox()起作用是很重要的,因为它使用了一个更复杂的数据结构,并且需要为列表中的每个元素定义特定的名称。
松散键入的文本框和验证消息:

生成的html:

强类型文本框和验证消息:

生成的html:

我们可以清楚地看到data-val属性
name字段是这样构建的(其中key是列表中每个项目的唯一guid):

为什么data-val属性不出现在松散键入的文本框中?

afdcj2ne

afdcj2ne1#

我想我知道答案了,因为它是强类型的,所以我们有关于模型中dataannotation的信息,而loosley类型只是从一个名字生成html。

相关问题