web-dev-qa-db-ja.com

Html.TextBoxForの必須値

このように必要なTextBoxの値を入力する必要があります:

<td>@Html.TextBoxFor(m =>(m.Code), new { @required  = "required"})</td>

できます。しかし、デフォルト値をTextBoxに設定した場合

<td>@Html.TextBoxFor(m =>(m.Code), new { @Value = @Model.Code, @required  = "required"})</td>

このHtmlコードの生成にもかかわらず、空の値が受け入れられるようになります

<td><input id="Code" name="Code" required="required" type="text" value="fff       "></td>
  1. この問題の原因は何ですか?
  2. どうすれば修正できますか?
6
Lamloumi Afif

理由はわかりませんが、=@の間のスペースを削除すると

<td>@Html.TextBoxFor(m =>(m.Code), new { @Value [email protected], @required  = "required"})</td>

できます

9
Lamloumi Afif

使用する

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

コードプロパティを検証するため。コードプロパティは次のように定義する必要があります-

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

コードTextboxで値を設定します。このようにコントローラーで設定できます。

Model.Code="fffff";

そしてビューでこのように使用します-

<td>@Html.TextBoxFor(m =>(m.Code), new { @Value = @Model.Code)</td>
 @Html.ValidationMessageFor(m => m.Code)

はい、検証Jsを含めることを忘れないでください。

 <script src="/Scripts/jquery.validate.unobtrusive.js"></script>
    <script src="/Scripts/jquery.validate.unobtrusive.min.js"></script>

それを試してみてください:-

12
coolhimanshu

あなたはparensを必要としません

@Html.TextBoxFor(m => m.Code, new { @class = "txtCode" })

コントローラ側でコードを設定すると、値がテキストボックスに入力されます

1
Matt Bodily