Javascript 如何从我的MVC控件中删除验证文本
我在模型上添加了验证,如下所示:Javascript 如何从我的MVC控件中删除验证文本,javascript,jquery,asp.net-mvc,twitter-bootstrap,validation,Javascript,Jquery,Asp.net Mvc,Twitter Bootstrap,Validation,我在模型上添加了验证,如下所示: [Required] [StringLength(60, MinimumLength = 4)] [Display(Name = "Users code")] public string UserCode { get; set; } 大家可以看到,当我创建新用户时,必须填写字段UserCode,字段中字符的最小长度为4,最大长度为60
[Required]
[StringLength(60, MinimumLength = 4)]
[Display(Name = "Users code")]
public string UserCode { get; set; }
大家可以看到,当我创建新用户时,必须填写字段UserCode,字段中字符的最小长度为4,最大长度为60
下面是我尝试跳过此字段或插入少于4个字符时的情况。。
大家可以看到,有一个文本字符串必须是一个字段bla bla bla,我如何隐藏或删除它?我真的不需要它您应该从.cshtml页面中删除字段的错误消息:
@Html.ValidationMessageFor(a => a.UserCode, "", new { @class = "text-danger" })
您应该从.cshtml页面中删除字段的错误消息:
@Html.ValidationMessageFor(a => a.UserCode, "", new { @class = "text-danger" })
输入下的验证文本由MVC脚手架自动添加,并在.cshtml中有一个条目,如:
@Html.ValidationMessageFor...
只要从.cshtml中删除这一行,就会从输出中删除它
作为警告:这将意味着用户不知道输入的确切错误。可能是该字段是必需的,或者格式错误。在这种情况下,3个字符的用户代码可能看起来是正确的,但他们仍然会得到错误 应该有其他一些机制来显示原因,可以使用自定义通知,例如更改ValidationSummary以不排除属性错误(顽皮的Microsoft使用需要双重否定的否定词…tsk),例如更改
@Html.ValidationSummary(true)
到
奖金 如果您发现自己手动删除了这些,则可以编辑代码模板t4以删除它们。将edit.cs.t4从程序文件(我将留给您查找)复制到项目中具有相同结构的文件夹中,具体如下:
/CodeTemplates/MvcView/Edit.cs.t4
根据需要添加或更改它。然后,在构建编辑页面时将使用此选项。输入下的验证文本由MVC构建自动添加,并在.cshtml中有一个条目,如:
@Html.ValidationMessageFor...
只要从.cshtml中删除这一行,就会从输出中删除它
作为警告:这将意味着用户不知道输入的确切错误。可能是该字段是必需的,或者格式错误。在这种情况下,3个字符的用户代码可能看起来是正确的,但他们仍然会得到错误 应该有其他一些机制来显示原因,可以使用自定义通知,例如更改ValidationSummary以不排除属性错误(顽皮的Microsoft使用需要双重否定的否定词…tsk),例如更改
@Html.ValidationSummary(true)
到
奖金 如果您发现自己手动删除了这些,则可以编辑代码模板t4以删除它们。将edit.cs.t4从程序文件(我将留给您查找)复制到项目中具有相同结构的文件夹中,具体如下:
/CodeTemplates/MvcView/Edit.cs.t4
根据需要添加或更改它。然后,在构建编辑页面时将使用此选项。您可以通过添加数据val='false'属性来关闭单个字段的客户端无干扰验证:
@Html.TextBoxFor(m => m.BatchId, new { data_val = "false" })
这将覆盖MVC由于任何System.ComponentModel.DataAnnotations属性而添加的data val='true'
属性。HTML元素仍将使用其他验证属性(例如需要数据val)进行修饰,但它们不会产生任何效果
(注意上面数据中的下划线。MVC会自动转换。)
匿名类型属性中的下划线到连字符,因此数据
呈现HTML时变为数据val)
通过添加data val='false'属性,可以关闭单个字段的客户端无干扰验证:
@Html.TextBoxFor(m => m.BatchId, new { data_val = "false" })
这将覆盖MVC由于任何System.ComponentModel.DataAnnotations属性而添加的data val='true'
属性。HTML元素仍将使用其他验证属性(例如需要数据val)进行修饰,但它们不会产生任何效果
(注意上面数据中的下划线。MVC会自动转换。)
匿名类型属性中的下划线到连字符,因此数据
呈现HTML时变为数据val)
查看您的.cshtml-删除
@Html.ValidationMessageFor…
您可能还想将@Html.ValidationSummary(true)
更改为@Html.ValidationSummary(false)
为什么不想要它?如果您不告诉用户,您的用户怎么知道它是无效的。@StephenMuecke,正如您所看到的,如果验证出现问题,输入会变成红色,这就是我不需要消息的原因,将输入突出显示为红色目前还不够:)@freedomn-m解决了这个问题,所以您可以将其作为答案发布,这样我就可以接受它,因为您是.cshtml上最快的一个查看-删除@Html.ValidationMessageFor…
您还可以将@Html.ValidationSummary(true)
更改为@Html.ValidationSummary(false)
您为什么不想要它?若你们不告诉你们的用户,你们的用户怎么知道它是无效的。@StephenMuecke,你们可以看到,若验证有问题,输入会变成红色,这就是我不需要这个消息的原因,现在把输入高亮显示为红色是不够的:)@freedomn-m解决了这个问题,所以你们可以把它作为答案发布,这样我就可以接受它,因为你们是最快的一个