我有一个人物模型
public class Person
{
public int ID { get; set; }
[Required]
[Remote("UserNameExists", "People", "Username is already taken.")]
public string Name { get; set; }
[Required]
public string LastName { get; set; }
}
这是我的 UserNameExists 方法
public JsonResult UserNameExists(string name)
{
bool exists = personRepository.GetPersonByName(name.Trim());
if (!exists)
return Json(true, JsonRequestBehavior.AllowGet);
return Json(string.Format("{0} is not avavfddvilable.", name),
JsonRequestBehavior.AllowGet);
}
当我启用 Javascript 时,它工作得很好,但是当我禁用 javascript 时,这个规则不会被强制执行......
为什么是这样?
请帮忙。
编辑预期行为:
根据msdn,即使没有 Javacript,它也应该遵守这条规则
- 或者,在您的浏览器中禁用客户端脚本,再次运行该页面,然后输入违反验证约束的数据。
当您离开包含无效数据的字段时,您不会看到验证错误,因为脚本被禁用。因为 ASP.NET MVC 使用不显眼的 JavaScript,所以您看不到客户端脚本错误。但是,在您提交表单时会执行服务器端验证。(最好使用禁用了脚本的浏览器测试您的 Web 应用程序。)