메신저 .net 4.5, MVC 4 및 im을 사용하여 양식에 모델 바인더를 사용합니다. 나는 잘 작동하는 목록으로 오류를 표시합니다 HTML 유효성 검사 요약이 있습니다.MVC 모델 바인더 - 개별 폼 오류 얻기
하나의 ModelProperty가 ModelState를 기반으로 오류를 트리거 한 경우 오류가 발생하면 "오류"CSS 클래스를 지정하여 빨간색으로 설정합니다. 아래를 봐주세요.
<div class="controls">
@{
// does this element have an error??
if (Model.LastName == error)
{
@Html.ValidationMessageFor(x => x.LastName)
@Html.TextBoxFor(x => x.LastName, new { type = "text", id = "LastName", name = "LastName", value = Model.LastName, @class = "Error" })
}
else
{
@Html.ValidationMessageFor(x => x.LastName)
@Html.TextBoxFor(x => x.LastName, new { type = "text", id = "LastName", name = "LastName", value = Model.LastName, })
}
}
}
검증 요약
@{
if (ViewBag.Error != null && ViewBag.Error == true)
{
<div class="alert alert-error">
<h3>Error</h3>
<p>@ViewBag.Message</p>
<p>@Html.ValidationSummary(false)</p>
</div>
}
else if (ViewBag.Error != null && ViewBag.Error == false)
{
<div class="alert alert-success">
<h3 style="color:green;">Details Updated Successfully Received</h3>
<p style="color:green;">@ViewBag.Message</p>
</div>
}
}
모델은 모델에서
public class UpdateDetailsModel
{
public VIPSessionObject VIPSessionObject { get; set; }
[Required]
[DataType(DataType.Text, ErrorMessage = "Please Enter your First Name")]
public string FirstName { get; set; }
[Required]
[DataType(DataType.Text, ErrorMessage = "Please Enter your Last Name")]
public string LastName { get; set; }
[Required]
[DataType(DataType.PhoneNumber, ErrorMessage = "Please Enter your Phone Number")]
public string Telephone { get; set; }
[Required]
[DataType(DataType.EmailAddress, ErrorMessage = "Please Enter your Email Address")]
public string Email { get; set; }
[Required]
[DataType(DataType.Password, ErrorMessage = "Please Enter your Motorpoint VIP Password")]
public string Password { get; set; }
[Required]
[DataType(DataType.Password, ErrorMessage = "The Passwords must match")]
[Compare("Password")]
public string PasswordConfirm { get; set; }
[Required]
[DataType(DataType.Date, ErrorMessage = "Please Enter your Date of Birth")]
public DateTime DateOfBirth { get; set; }
[Required]
public int VehiclesInHousehold { get; set; }
[Required(ErrorMessage = "Please select the number of cars in your household")]
public int NoOfVehicles { get; set; }
}
데이터 유형이? – JGilmartin
[필수] 속성을 사용하는 날짜 인 경우에도 강제로 필요합니다. 사용자가 입력하지 않으면 오류 메시지가 표시됩니다. [Required] 속성을 사용하여 모델의 모든 필드를 강제로 입력 할 수 있습니다. – Robert