在mvc行动中使用bool

时间:2014-02-05 06:49:21

标签: c# asp.net-mvc validation asp.net-mvc-4

我正在尝试验证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为基础验证结果。

2 个答案:

答案 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;
}