【发布时间】:2011-10-28 21:10:07
【问题描述】:
我正在使用表单发布信息,并且我的模型已内置验证。我知道我可以使用以下任一方法来验证字段:
@Html.ValidationSummary() //To validate all fields
@Html.ValidationMessageFor(x => x.FirstName) //To validate single field
这两种方法都只返回一个 HTML 列表(For ValidationSummary)或一个跨度(ValidateionMessageFor)。
我想要做的只是得到一个正确或错误的声明,如果该字段有效或无效(如果没有,则为 null),以便我可以对包含输入的框甚至标签进行一些自定义样式为它。
有谁知道是否有这样的代码可以做到这一点,比如@Html.IsValid(x => x.FirstName)
这是我的模型和视图。该模型正在通过并正确验证,这只是我是否可以获得布尔值而不是 HTML 字符串的问题。
型号:
using System.ComponentModel.DataAnnotations;
namespace X.Web.Helpers
{
public class RequestSamplesModel
{
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
public string Email { get; set; }
[Required]
public string Line1 { get; set; }
[Required]
public string Line2 { get; set; }
[Required]
public string City { get; set; }
[Required]
public string Postcode { get; set; }
[Required]
public string Country { get; set; }
}
}
查看:
@{
Layout = "~/Views/Shared/_PlainLayout.cshtml";
}
@using X.Web.Helpers
@model RequestSamplesModel
<form action="/Site/RequestSamples" method="POST">
<div class="form-item">
<span>First Name:</span>@Html.TextBoxFor(x => x.FirstName)</div>
<div class="form-item">
<span>Last Name:</span>@Html.TextBoxFor(x => x.LastName)</div>
<div class="form-item">
<span>Email:</span>@Html.TextBoxFor(x => x.Email)</div>
<div class="form-item">
<span>Address 1:</span>@Html.TextBoxFor(x => x.Line1)</div>
<div class="form-item">
<span>Address 2:</span>@Html.TextBoxFor(x => x.Line2)</div>
<div class="form-item">
<span>City:</span>@Html.TextBoxFor(x => x.City)</div>
<div class="form-item">
<span>Postcode:</span>@Html.TextBoxFor(x => x.Postcode)</div>
<div class="form-item">
<span>Country:</span>@Html.TextBoxFor(x => x.Country)</div>
<div class="form-item">
<input class="submit-button" type="image" src="/_content/images/email-submit.gif" /></div>
</form>
【问题讨论】:
标签: c# asp.net-mvc-3