1

必要な検証プロパティとリモート検証プロパティを持つフィールドがあります。

必要なプロパティではなく、リモート検証が失敗した場合にのみエラー メッセージを表示したいと考えています。

エラー メッセージを空の文字列に設定できますが、ViewModel のデータ注釈を変更したくありません。

ViewModel プロパティを変更せずに、クライアント側からのみこれを行うことは可能ですか?

// working hack
public class CreateViewModel
{
    [Required(ErrorMessage = " ")]
    [Remote("IsUserNameValid", "Users", ErrorMessage = "This user name is already used")]
    [Display(Name = "User Name")]
    public string UserName { get; set; }
}
4

1 に答える 1

2

必要なルールを無効にすることができます。たとえば、ID「LoginForm」のフォームと ID「UserName」の必須入力フィールドがある場合、次のいずれかを使用して必須ルールを無効にすることができます。

$("#UserName").rules("remove", "required");
$("#loginForm").validate().settings.rules["UserName"].required= false;

もう 1 つのオプションは、エラー メッセージを空の文字列に変更することです。繰り返しますが、いくつかのオプションがあります。次に例を示します。

$("#UserName").rules("add", {
    messages: {
        required: ""
    }
});
$("#loginForm").validate().settings.messages["UserName"].required= '';

最後に、これはフォームの jquery 検証オブジェクトのルールとメッセージをいじることです。

それが役に立てば幸い!

于 2013-06-27T12:03:38.777 に答える