0

ASP.NET MVC 3 がこのように使用するクライアント側の検証の既定の動作を変更したいと思います。

エラーが発生した場合、HTML にスパンを追加して自分の間違いを見せたくありません。私が望む唯一のことは、エラーのある入力フィールドの色を変更することです。

これが「正しい」方法であるかどうかはわかりませんが、これは私がすでに行ったことです:

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();
  }
 }

これは、入力フィールドの色を変更する custom-validation-error という名前のクラスのみを追加します。しかし、すべてが問題ない場合、どうすればこのクラスを削除できますか?

また、スパンを HTML に追加しないようにするにはどうすればよいですか?

ありがとう。

4

2 に答える 2

1

エラーメッセージが表示されるタグHtml.ValidationMessageForを追加するフィールドを削除するだけです。<span>したがって、必要なのはHtml.EditorFor. 次に、作成した JavaScript を削除します。

于 2012-10-11T16:33:54.880 に答える