1
テキストボックスで検証を実行する必要があります。また、両方の値が空の場合にのみトリガーとなり、値の1つが空の場合は何もしません。どのように私はそれを実装するだろうか?カスタムバリデータを作成する必要はありますか?以下は私のモデルとビュー モデルであるASP MVC検証
public class CustomValidators
{
[Required]
[Required(ErrorMessage = "State Required")]
public string drpStateId { set; get; }
public System.Web.Mvc.SelectList drpState { set; get; }
[Required(ErrorMessage ="Region Required")]
public string txtRegion { set; get; }
}
ビュー比較バリ以外の2つのフィールド上で動作ボックスの検証のないうちはありません
@model InterviewTest.Models.CustomValidators
@{
ViewBag.Title = "Custom Validator";
Layout = "~/Views/_Layout.cshtml";
}
<p>@Html.ActionLink("< Back", "Index")</p>
@using (Html.BeginForm("CustomValidatorPost"))
{
@Html.ValidationSummary()
<div class="container-fluid">
<div class="row">
<div class="col-sm-3">
<div class="form-group">
@Html.DropDownListFor(c => c.drpStateId, Model.drpState, "", new { @class = "form-control" })
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
@Html.TextBoxFor(x => Model.txtRegion, new { @class = "form-control" })
@*<input type="text" id="txtRegion" name="txtRegion" class="form-control" />*@
</div>
</div>
<div class="col-sm-3">
<button type="submit" name="btnSubmit" id="btnSubmit" class="btn btn-default">Submit</button>
</div>
</div>
</div>
}
あなたの 'txtRegio 'に適用される[foolproof](http://foolproof.codeplex.com/)' [RequiredIfNotEmpty( "drpStateId")]属性を考えてみましょう。 @dropstateId'プロパティに適用され、 '[必須]'属性を削除します。 –
@StephenMuecke両方が空の場合にサブミットが動作するようにしたときに、 – aj12
あなたの要件を誤解しています。そのためには、独自のカスタム検証属性([ASP.NET MVC 3での検証の完全ガイド - 第2部])を作成する必要があります(http://www.devtrends.co.uk/blog/the-complete- guide-to-validation-in-asp.net-mvc-3-part-2) –