0

私はこのviewModelクラスを持っています:

[Required]
     [StringLength(50)]
     public string Name { get; set; }

     [Required]
     [EmailAddress]
     public string Email { get; set; }

     [Required]
     public string MessageType { get; set; }

    [Required]
    [StringLength(300)]
    [DataType(DataType.MultilineText)]
    public string Message { get; set; }

そして、私はビューにこのコードを持っています:

@model Kekanto.ViewModels.DoubtViewModel


@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)

<br />
@Html.LabelFor(model=>model.Name)
@Html.EditorFor(model=>model.Name)<br />
@Html.ValidationMessageFor(model => model.Name)

@Html.LabelFor(model=>model.Email)
@Html.EditorFor(model=>model.Email)<br />
 @Html.ValidationMessageFor(model => model.Email)

@Html.Label("MessageType") 
<select  name="MessageType" id="MessageType">
<option ></option>
<option >Sugestion</option>
<option >Question</option>
<option >Complaint</option>
</select>
 @Html.ValidationMessageFor(model => model.MessageType)

<br /><br />

@Html.LabelFor(model=>model.Message)
@Html.EditorFor(model=>model.Message)
 @Html.ValidationMessageFor(model => model.Message)


     <input type="submit" value="Send Message" />

}

一部のプロパティが必須であるという事実にもかかわらず、私は検証を受けていません...空のフォームを送信でき、「このフィールドは必須です」というメッセージを受け取りません....

4

2 に答える 2

1

クライアント検証を使用していますか、それともサーバー側検証のみを使用していますか。

ModelState.IsValidサーバー側を起動するには、POSTを確認する必要があります

于 2013-04-01T16:41:16.640 に答える
1

ここを見てください。正しい JavaScript ファイルへの参照が欠落している可能性があります。

于 2013-04-01T16:43:32.633 に答える