我正在尝试验证MVC中的字符串。
情景 -
我有一个表并检查字符串是否在此表中可用,并且根据验证正在进行。
在此表中保存字符串时,此字符串正由另一个函数CheckTagName()
验证。
如果结果为真,那么我想进一步保存。
public void SaveTag(string tagname) {
CheckTagName(tagname);
if(!String.CheckTagName(string tagname))
{
TagTable tag = new TagTable();
tag.TagName = tagname;
db.TagTables.InsertOnSubmit(tag);
db.SubmitChanges();
}
}
字符串验证功能 -
public ActionResult CheckTagName(string tagname) {
var tagtable = (from u in db.TagTables
where u.TagName.Contains(tagname)
select u);
if (tagtable != null) {
return Json(new { success = false });
}
else {
return Json(true);
}
}
我是这个验证的新手。请帮助我如何在MVC中以bool为基础验证结果。
答案 0 :(得分:2)
首先创建一个检查标记名存在的函数,可以如下 -
public bool CheckTagName(string tagname) {
var tagtable = (from u in db.TagTables
where u.TagName.Contains(tagname)
select u).FirstOrDefault();
if (tagtable != null) {
return true;
}
else {
return false;
}
}
然后在任何其他方法中使用上述验证函数,如下所示 -
public void SaveTag(string tagname)
{
if(!CheckTagName(tagname))
{
TagTable tag = new TagTable();
tag.TagName = tagname;
db.TagTables.InsertOnSubmit(tag);
db.SubmitChanges();
}
}
PS - 我的答案中的代码未经过测试。我合并了一些代码,为您提供了一个想法。
答案 1 :(得分:1)
public void SaveTag(string tagname)
{
if(!CheckTagName(tagname))
{
TagTable tag = new TagTable();
tag.TagName = tagname;
db.TagTables.InsertOnSubmit(tag);
db.SubmitChanges();
}
}
public bool CheckTagName(string tagname)
{
var tagtable = (from u in db.TagTables
where u.TagName.Contains(tagname)
select u);
return tagtable == null;
}