BGR*_*BGR 5 asp.net webforms model-binding client-side-validation data-annotations
我是使用数据注释的asp.net 4.5 webforms模型绑定的忠实粉丝.
ASCX:
<asp:FormView ItemType="Contact" runat="server" DefaultMode="Edit"
SelectMethod="GetContact" UpdateMethod="SaveContact">
<EditItemTemplate>
<asp:ValidationSummary runat="server" ID="valSum" />
Firstname: <asp:TextBox runat="server" ID="txtFirstname" Text='<%#: BindItem.Firstname %>' />
Lastname: <asp:TextBox runat="server" ID="txtLastname" Text='<%#: BindItem.Lastname %>' />
Email: <asp:TextBox runat="server" ID="txtEmail" Text='<%#: BindItem.Email %>' />
<asp:Button ID="Button1" runat="server" Text="Save" CommandName="Update" />
</EditItemTemplate>
</asp:FormView>
Run Code Online (Sandbox Code Playgroud)
的.cs:
public void SaveContact(Contact viewModel)
{
if (!Page.ModelState.IsValid)
{
return;
}
}
public Contact GetContact()
{
return new Contact();
}
Run Code Online (Sandbox Code Playgroud)
模型:
public class Contact
{
[Required]
[StringLength(10, ErrorMessage="{1} tis te lang")]
public string Firstname { get; set; }
[Required]
[StringLength(10)]
public string Lastname { get; set; }
[Required]
[EmailAddress]
public string Email { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
题:
客户端验证是否支持MVC中的Webforms开箱即用?或者我们应该依赖第三方库(DAValidation).是否可以将Html.EnableClientValidation()的优点移植到webforms?
问候,
巴特
正如我们在 ASP.NET WebForms 项目中发现的那样,客户端验证没有对模型的验证属性进行整体有用的重用。
例如,具有姓名、电子邮件、生日等各种属性的联系人数据模型并不总是以相同的方式使用。有时它可能有一些必填字段,有时没有,甚至所需的输入数据在应用程序的各个点也可能有所不同。
因此,在我们的项目中,我们同时使用客户端验证实现和模型属性。
我们应用的总体思路是:
对于客户端,我们选择了 jQuery 验证插件 ( http://jqueryvalidation.org/ )。
我们甚至构建了自己的一组控件(派生自内置 WebControls),它们呈现各种(甚至一些自定义)数据规则。
| 归档时间: |
|
| 查看次数: |
2059 次 |
| 最近记录: |