Asp.net mvc MVC 3-带注释的表单验证
MVC 3中的远程注释允许您调用“操作”为您进行属性数据验证。真漂亮!还是真的 问题:下面的远程注释请参阅客户端中的注释调用代码!!我的角色课是模特。我喜欢remote,因为我不需要编写自定义验证器 我应该使用对象视图模型模式并在其中复制属性“Role.Name”吗?那就行了。还有一个问题:我如何才能真正避免“不重复自己的原则”?在对象视图中具有带注释的属性,然后在模型中具有相同的属性是否有效?我的意思是,这对于分离关注点来说是不是太多了 我只是在尝试正确地设计这个网站,并应用正确的设计原则,这样当这个网站在代码方面发展时,我就不会被烧掉 最好的方法是什么Asp.net mvc MVC 3-带注释的表单验证,asp.net-mvc,Asp.net Mvc,MVC 3中的远程注释允许您调用“操作”为您进行属性数据验证。真漂亮!还是真的 问题:下面的远程注释请参阅客户端中的注释调用代码!!我的角色课是模特。我喜欢remote,因为我不需要编写自定义验证器 我应该使用对象视图模型模式并在其中复制属性“Role.Name”吗?那就行了。还有一个问题:我如何才能真正避免“不重复自己的原则”?在对象视图中具有带注释的属性,然后在模型中具有相同的属性是否有效?我的意思是,这对于分离关注点来说是不是太多了 我只是在尝试正确地设计这个网站,并应用正确的设计原则,这
namespace StartWeb.Model.ObjectModel
{
public class Role //this class is in the Model (see namespace) and it needs to be "client agnostic”
{
//Then, this annotation is NOT client agnostic, it calls a controller:
[Remote("ValidateRoleName", "Role", AdditionalFields="InitialRoleName", ErrorMessage = "Role Name already exists")]
public string Name { get; set; }
这是客户端RoleControl操作中的验证代码:
[HttpGet]
[OutputCache(Location = OutputCacheLocation.None, NoStore = true)]
public JsonResult ValidateRoleName(string name, string initialRoleName)
{
bool isValid = true;
if (name != initialRoleName) isValid = !(new SecurityFacade().IsRoleNameExist(name));
return Json(isValid, JsonRequestBehavior.AllowGet);
}
在进一步研究之后,我发现了这个开源工具,它可以为您从不同层映射实体提供繁重的工作: