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)
{
}
我之前处理过类似的问题,我处理它的方式是在第二个字段上使用了一些javascript(即处理一些事件并触发验证)。希望别人有一个更简单的解决方案。 – joshuahealy 2012-04-11 03:36:08
将你的属性设置为第二个字段,并将AdditionalFields设置为Field1呢? – Marc 2012-04-11 03:36:25
这会导致邮件显示两次,并且第一次的错误消息在第二次更改时不会消失。他们被视为单独的实例。 – whoblitz 2012-04-11 03:37:57