gpt4 book ai didi

c# - ASP.net MVC 4 远程验证不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 10:41:16 24 4
gpt4 key购买 nike

我尝试验证 EditorFor 中的字符串..如果许可证不在我的数据库中,我想打印一个错误..

这是我的模型:

    [Display(Name = "Lizenznummer")] 
[Required]
[Remote("IsLicenseValid", "HLRController", "Lizenznummer ungültig")]
public string HLR_LIZENZ { get; set; }

这是我的 Controller (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] Vaidation 不起作用。如果该字段为空,他将写入 ErrorMessage 并将该字段框为红色。然后我输入一些东西 - 红框消失了,但 ErrorMessage 仍然存在。

我想对此进行调试,并在我的“IsLicenseValid”方法中放置了一个断点 - 但他不止于此。所以这个方法从来没有被使用过.. (?!)

有人有想法吗?非常感谢!

最佳答案

你必须在属性的 Controller 名称中省略 controller 部分,它由框架处理:

[Remote("IsLicenseValid", "HLR", "Lizenznummer ungültig")]

关于c# - ASP.net MVC 4 远程验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25288544/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com