如何只验证C#中的某些字符串?例如,如果我有4种颜色RED,BLUE,GREEN和BLACK我只希望用户输入这些颜色。如果用户输入其他颜色,例如WHITE,则代码会抛出错误,如" 如何在MVC C#模型验证中使用它?
例如: MODEL:
public int ID {get; set;}
public string color {get; set;}
控制器:
[HttpPost]
public ActionResult Create(
[Bind(Include = "ID, color")] tblColor myColor)
{
try {
if (ModelState.IsValid && ModelState != ModelState)
if(myColor == RED, GREEN, BLUE, BLACK)
{
db.Projects.Add(myColor);
db.SaveChanges();
return RedirectToAction("Index");
}
else
{
// error == "You are only allow to insert one of the RED, BLUE, GREEN, BLACK";
}
}
}
catch (Exception)
{
// Error message
}
return View(myColor);
}
答案 0 :(得分:0)
我建议使用带有这些值的下拉框,但仍然无法验证响应。
对于服务器端验证,并假设您通过参数输入值,这样的事情将起作用:
[HttpPost]
public ActionResult Submit(string color)
{
string[] validColors = new string[] { "RED", "BLUE", "GREEN", "BLACK" };
if (!validColors.Contains(color))
{
ViewBag.ErrorMessage = color + " is not a valid color.";
return View();
}
}