ASP.net MVC 4远程验证不工作
本文关键字:验证 工作 程验证 net MVC ASP | 更新日期: 2023-09-27 18:17:54
我尝试在EditorFor中验证字符串。如果许可证不在我的数据库中,我想打印一个错误…
这是我的模型:
[Display(Name = "Lizenznummer")]
[Required]
[Remote("IsLicenseValid", "HLRController", "Lizenznummer ungültig")]
public string HLR_LIZENZ { get; set; }
这是我的控制器(HLRController.cs)
public ActionResult IsLicenseValid(string HLR_LIZENZ)
{
return IsExist(HLR_LIZENZ)
? Json(true, JsonRequestBehavior.AllowGet)
: Json(string.Format("{0} ist nicht gültig.", HLR_LIZENZ),
JsonRequestBehavior.AllowGet);
//: Json(false, JsonRequestBehavior.AllowGet);
}
public bool IsExist(string license)
{
bool result = false;
var item = (from c in db.KD select c).ToArray();
for (int i = 0; i < item.Length; i++)
{
if (item[i].KD_LIZENZ == license)
result = true;
if (result)
break;
}
return result;
}
还有我的视图:
<div class="editor-field">
@Html.EditorFor(model => model.HLR_LIZENZ)
@Html.ValidationMessageFor(model => model.HLR_LIZENZ)
</div>
我不知道我哪里错了。我在这里看到了类似的代码,在互联网上的其他页面-.-
如果我测试这段代码,什么也没有发生。好吧,没有什么是谎言。如果我在我的EditFor中写一个许可证,什么也不会发生——但是[Required] validation不起作用。如果该字段为空,则写入ErrorMessage并将该字段框成红色。然后我输入一些东西-红色框架消失了,但ErrorMessage仍然存在。
我想调试这个,我把一个断点到我的"IsLicenseValid"方法-但他不停止在那里。所以这种方法从来没有被使用过。(? !)
有人有主意吗?非常感谢!
你必须省略controller部分在你的属性的控制器名称,它是由框架处理:
[Remote("IsLicenseValid", "HLR", "Lizenznummer ungültig")]