2012-04-11 27 views
2

所以我面临的问题是,我创建的Remote属性仅在其声明的字段发生更改时触发。但是当我改变任何一个时,我都需要它。当任何一个字段被更改时,是否有远程验证属性触发的方法?

class MyViewModel 

[Remote("ValidateTwoFields", "ControllerName", AdditionalFields = "Field2", ErrorMessageResourceName = "Errors_SomeErrorMessageThatShouldBeShowOnce", ErrorMessageResourceType = typeof(Resources.Resource))] 

public string Field1{ get; set; } 

public string Field2{ get; set; } 

在控制器:

//this only gets called when Field1 changes 
//If I put the remote attribute on Field2 as well it displays the error message twice 
public JsonResult ValidateTwoFields(MyViewModel model) 
{ 

} 
+0

我之前处理过类似的问题,我处理它的方式是在第二个字段上使用了一些javascript(即处理一些事件并触发验证)。希望别人有一个更简单的解决方案。 – joshuahealy 2012-04-11 03:36:08

+1

将你的属性设置为第二个字段,并将AdditionalFields设置为Field1呢? – Marc 2012-04-11 03:36:25

+0

这会导致邮件显示两次,并且第一次的错误消息在第二次更改时不会消失。他们被视为单独的实例。 – whoblitz 2012-04-11 03:37:57

回答

0

我还没有尝试过,但可能它可能被混为一谈这两个领域为包含两个字符串类,并添加验证的一个类来解决?

相关问题