我的最后一个问题得到了很好的回答,让我们也希望这个问题:)。
我遇到了一个非常令人困惑的错误。我正在使用 WebMatrix、asp.net 和 razor。一直在关注这些教程。http://www.asp.net/web-pages/tutorials/introducing-aspnet-web-pages-2。
我需要一个只接受某些单词的验证。例如“商业”或“S7”“科学”。我可以让它只接受一个词,但是当我输入另一个 regEx 语句时,它什么也不接受。
Validation.RequireField("name", "Name is needed");
Validation.RequireField("surname", "Surname is needed");
Validation.RequireField("num", "num is needed");
Validation.RequireField("add", "add is needed");
Validation.RequireField("no", "no is needed");
Validation.RequireField("course", "course is needed");
Validation.RequireField("grade", "grade is needed");
Validation.Add("no", Validator.StringLength(10,10, "Contact number can not be longer or shoter than 10 digits"));
Validation.Add("num", Validator.StringLength(13,13,"Is number must be 13 digits"));
Validation.Add("name", Validator.Regex("^[a-zA-Z ]+$", "Invalid format for a name"));
Validation.Add("grade", Validator.Range(8,12, "Grades must be between 8 and 12"));
Validation.Add("course", Validator.Regex("S7"+"Comm", "Course not valid"));
//Validation.Add("course", Validator.Regex("^Comm$", "Course not valid blah"));
这是其余的代码。提前致谢 :)
@{
var db = Database.Open("ProjectTest");
var Name = Request.Form["name"];
var Surname = Request.Form["surname"];
var IDNumber = Request.Form["num"];
var Address = Request.Form["add"];
var ContactNumber = Request.Form["no"];
var Course = Request.Form["course"];
var TechID = Request.Form["techID"];
var grade = Request.Form["grade"];
Validation.RequireField("name", "Name is needed");
Validation.RequireField("surname", "Surname is needed");
Validation.RequireField("num", "num is needed");
Validation.RequireField("add", "add is needed");
Validation.RequireField("no", "no is needed");
Validation.RequireField("course", "course is needed");
Validation.RequireField("grade", "grade is needed");
Validation.Add("no", Validator.StringLength(10,10, "Contact number can not be longer or shoter than 10 digits"));
Validation.Add("num", Validator.StringLength(13,13,"Is number must be 13 digits"));
Validation.Add("name", Validator.Regex("^[a-zA-Z ]+$", "Invalid format for a name"));
Validation.Add("grade", Validator.Range(8,12, "Grades must be between 8 and 12"));
Validation.Add("course", Validator.Regex("S7"+"Comm", "Course not valid"));
//Validation.Add("course", Validator.Regex("^Comm$", "Course not valid blah"));
if (IsPost){
if (Validation.IsValid())
{var insertQuery = "INSERT INTO UserInfo (Name, Surname, IdNum, Address, ContNum, Course, Grade)" + "VALUES (@0, @1, @2, @3 ,@4, @5, @6)";
db.Execute(insertQuery, Name, Surname, IDNumber, Address, ContactNumber, Course, grade);
}
}
else{
ModelState.AddFormError("There are some errors with your submission");
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<a href="/Home">Home</a><br>
If you are an Student that wants to register use this form.<br>
<form method="post">
<table>
<tr>
<td>Name:</td><td><input type="text" name="name"></td>
</tr>
<tr>
<td>Surname:</td><td><input type="text" name="surname"></td>
</tr>
<tr>
<td>ID Number:</td><td><input type="text" name="num"><br></td>
</tr>
<tr>
<td>Address:</td><td><input type="text" name="add"><br></td>
</tr>
<tr>
<td>Contact Number:</td><td><input type="text" name="no"><br></td>
</tr>
<tr>
<td>Course:</td><td><input type="text" name="course" value=""></td>
</tr>
<tr>
<td>Grade:</td><td><input type="text" name="grade"></td>
</tr>
<tr><td><input type="submit" value="Submit"></td>
</tr>
</table>
@Html.ValidationMessage("name")<br>
@Html.ValidationMessage("surname")<br>
@Html.ValidationMessage("num")<br>
@Html.ValidationMessage("add")<br>
@Html.ValidationMessage("no")<br>
@Html.ValidationMessage("course")<br>
@Html.ValidationMessage("grade")
</form>
<select name="courses">
<option value="1" id="test">S7</option>
<option value="2">Commerce</option>
</select>
</body>
</html>