Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从我的MVC控件中删除验证文本_Javascript_Jquery_Asp.net Mvc_Twitter Bootstrap_Validation - Fatal编程技术网

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解决了这个问题,所以你们可以把它作为答案发布,这样我就可以接受它,因为你们是最快的一个