現在、ジェネリックを表示しているだけです
「イニシャル」を空にすることはできません。
次のルールのメッセージ:
context.RulesFor(p => p.Initials).Required(p => p.Message("Initials are frikking required.")).Length(0, 8);
イニシャルのプロパティは、表示名属性さえもなしに、かなり大きなタイプのモデルで宣言されていますが、表示名を追加しても同じ問題がありますApplicantProfileModel : MappedViewModel<ApplicantProfile>
。public string Initials { get; set; }
Required
ビューモデルに属性が残っていません。
コントローラーのアクション コードは次のとおりです。
[HttpGet]
public ActionResult Create()
{
var applicant = _applicantService.BuildApplicantProfile();
var model = new ApplicantProfileModel();
model.MapFromEntity(applicant);
return View(model);
}
これは私の最後の多数のプロジェクトの標準コードであり、FluentValidation カスタム メッセージ以外はすべて機能します。彼らの検証はうまくいきます。
ビューは次のとおりです。
<li class="form-line">
@Html.LabelFor(m => m.Initials)
@Html.EditorFor(m => m.Initials)
@Html.ValidationMessageFor(m => m.Initials)
</li>
私も試しTextBoxFor
ましたが、違いはありませんでした。