1

@Html.TextBox 要素の 1 つで必要な検証を無効にしたいフォームがあります。フロントエンドは次のとおりです。

@model Models.NewUser

@using (Html.BeginForm("Register", "Account"))
{
    <div class="field">
        <span class="textOverField absolute em1-2" style="top:6px;left:4px;">Key</span>
        @Html.TextBox("SchoolGroupKey", "", new { @class = "textField" }) 
    </div>
    <div class="field">
        <span class="textOverField absolute em1-2" style="top:6px;left:4px;">Name</span>
         @Html.TextBox("Names", "", new { @class = "textField" }) <div class="absolute validationMessage">@Html.ValidationMessageFor(u => u.Names)</div>
    </div>
    <div class="field">
        <span class="textOverField absolute em1-2" style="top:6px;left:4px;">Last Name</span>
        @Html.TextBox("LastNames", "", new { @class = "textField" }) <div class="absolute validationMessage">@Html.ValidationMessageFor(u => u.LastNames)</div>
    </div>
    <div class="em0-9" style="margin-bottom:20px;">
        <input class="submitButton cursorHand" style="margin-top:10px;" type="submit" value="Registrarme" />
    </div>
}

モデルのコードは次のとおりです。

public class NewUser
{
    [Required(ErrorMessage = "Name required")]
    public string Names { get; set; }

    [Required(ErrorMessage = "Last name required")]
    public string LastNames { get; set; }

    public System.Guid SchoolGroupKey { get; set; }
}

指定していなくても、 @Html.TextBox にはデフォルトの検証があると思います。削除する方法はありますか?、html タグの data-val-required と data-val を削除しようとしましたが、まだ結果はありません。

ありがとう

4

1 に答える 1

1

Guid単純な型として動作する構造体です (intまたはと同様DateTime)。そのため、自動的に検証されます。回避策が必要な場合は、プロパティの型Guidを nullable に変更してくださいGuid?。例:

public System.Guid? SchoolGroupKey { get; set; }

もちろん、このプロパティを使用する場合は場所を変更してValue、null 許容型のプロパティを介して guid 値にアクセスする必要があります。

マッピングが失敗した場合、検証エラーは発生しません。プロパティnull内の値だけです。SchoolGroupKey

于 2012-08-03T23:07:03.773 に答える