Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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 自定义客户端ASP.NET MVC 3验证_Javascript_Jquery_Asp.net Mvc_Asp.net Mvc 3_Client Side Validation - Fatal编程技术网

Javascript 自定义客户端ASP.NET MVC 3验证

Javascript 自定义客户端ASP.NET MVC 3验证,javascript,jquery,asp.net-mvc,asp.net-mvc-3,client-side-validation,Javascript,Jquery,Asp.net Mvc,Asp.net Mvc 3,Client Side Validation,我想通过以下方式更改ASP.NET MVC 3使用的客户端验证的默认行为: 如果有错误,我不希望在HTML中添加任何span来显示我的错误。 我唯一想做的就是更改有错误的输入字段的颜色 我不知道这样做是否“正确”,但这是我已经做过的: 我编辑了jquery.validate.unobtrusive.js: function onError( error, inputElement ) { // 'this' is the form element var contain

我想通过以下方式更改ASP.NET MVC 3使用的客户端验证的默认行为:

如果有错误,我不希望在HTML中添加任何span来显示我的错误。 我唯一想做的就是更改有错误的输入字段的颜色

我不知道这样做是否“正确”,但这是我已经做过的:

我编辑了jquery.validate.unobtrusive.js:

  function onError( error, inputElement )
  {  // 'this' is the form element
        var container = $( this ).find( "[data-valmsg-for='" + inputElement[0].name + "']" ),
        replace = $.parseJSON( container.attr( "data-valmsg-replace" ) ) !== false;

  container.removeClass( "field-validation-valid" ).addClass( "field-validation-error" );

  inputElement.addClass( "custom-validation-error" ); // <--------- this is my edit
  error.data( "unobtrusiveContainer", container );

  if( replace )
  {
     container.empty();
     error.removeClass( "input-validation-error" ).appendTo( container );
  }
  else
  {
     error.hide();
  }
 }
函数onError(错误,inputElement) {/'this'是表单元素 var container=$(this).find(“[data valmsg for='”+inputElement[0].name+']), replace=$.parseJSON(container.attr(“data valmsg replace”))!==false; container.removeClass(“字段验证有效”).addClass(“字段验证错误”);
inputElement.addClass(“自定义验证错误”);//只需删除
Html.ValidationMessageFor
字段,该字段负责添加
标记,错误消息将显示在该标记中。因此,您只需要一个
Html.EditorFor
。然后去掉您编写的javascript。

好的,答案非常简单

我刚刚添加了这个CSS规则:

.custom-validation-error  
{
   border: 1px solid red !important;
}
按照Darin Dimitrov的建议删除了我的javascript代码和Html.ValidationMessageFor


该死,该死…

谢谢。我删除了Html.ValidationMessageFor,但我不想删除我的javascript,因为我没有想要的红色边框。红色被添加到我的无效输入字段中,我的问题是当我的输入有效时我无法删除它们!但你不需要任何javascript。当一个字段无效时ASP.NET MVC自动向其添加
自定义验证错误
类。因此,您只需编写相应的CSS规则并在其周围放置一个红色边框。