21

リモート検証と同様のことを行っていますが、jquery を介して手動で呼び出しを行い、セットアップする必要があるものはすべてセットアップしています。

今私の問題は、特定のテキストボックスが有効ではないことをバリデーターに伝えたい場合です(そして、ページが送信されないようにしたり、テキストボックスを強調表示したりするなど)。コードからこれを行うにはどうすればよいですか?

@Html.LabelFor(m => Model.Slug)
@Html.TextBoxFor(m => Model.Slug)
<span id="UrlMsg" class="field-validation-error" style="display: none;"></span>

 if (error) {
        $('#UrlMsg').html('This name is already in use.').fadeIn('fast');
        //what should I do here for the rest of the validation?
 }
4

5 に答える 5

50

まず、検証の概要を追加できます。

@Html.ValidationMessageFor(m => m.Slug)

次に、.showError メソッドを使用して、手動で jQuery 検証 / 目立たない検証をトリガーできます。以下にサンプルを示します。

var errorArray = {};
errorArray["Slug"] = 'Some error message for the Slug text box';
$('#SomeFormId').validate().showErrors(errorArray);
于 2011-11-02T23:31:04.037 に答える