Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何使验证正常运行?_Asp.net_Razor_Webmatrix - Fatal编程技术网

Asp.net 如何使验证正常运行?

Asp.net 如何使验证正常运行?,asp.net,razor,webmatrix,Asp.net,Razor,Webmatrix,我正在使用WebMatrix、asp.net和razor。我一直在跟踪 此页必须将值插入数据库,它一开始做得很好,但当我添加验证时,会出现以下错误:“异常详细信息:System.OverflowException:值对于Int32太大或太小。”所使用的数据库都是nvarchar,除了Techid是int。但我不明白的是当我注释掉时 Validation.Add("no", Validator.Range(9,10 ,"Contact number can not be longer or sho

我正在使用WebMatrix、asp.net和razor。我一直在跟踪

此页必须将值插入数据库,它一开始做得很好,但当我添加验证时,会出现以下错误:“异常详细信息:System.OverflowException:值对于Int32太大或太小。”所使用的数据库都是nvarchar,除了Techid是int。但我不明白的是当我注释掉时

Validation.Add("no", Validator.Range(9,10 ,"Contact number can not be longer or shorter than 10 digits"));
Validation.Add("num", Validator.Range(13,13,"Is number must be 13 digits"));
Validation.Add("name", Validator.Regex("^[a-zA-Z ]+$", "Invalid format for a name"))
它很好用

@{  
    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.Range(9,10 ,"Contact number can not be longer or shoter than 10 digits"));
    Validation.Add("num", Validator.Range(13,13,"Is number must be 13 digits"));
    Validation.Add("name", Validator.Regex("^[a-zA-Z ]+$", "Invalid format for a name"));  

    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>
@{
var db=Database.Open(“ProjectTest”);
var Name=Request.Form[“Name”];
变量姓氏=请求。形式[“姓氏];
var IDNumber=Request.Form[“num”];
var地址=请求。表格[“添加”];
var ContactNumber=请求。表格[“否”];
var Course=Request.Form[“Course”];
var TechID=Request.Form[“TechID”];
风险等级=申请表[“等级”];
验证。RequireField(“名称”,“需要名称”);
验证。RequireField(“姓氏”,“需要姓氏”);
验证。RequireField(“num”,“num是必需的”);
验证。请求字段(“添加”,“需要添加”);
验证。要求字段(“否”,“不需要”);
验证。要求字段(“课程”、“需要课程”);
验证。要求现场(“等级”,“需要等级”);
验证。添加(“否”,验证人。范围(9,10,“联系电话不能超过10位”);
Validation.Add(“num”,Validator.Range(13,13,“Is编号必须为13位”);
Validation.Add(“name”,Validator.Regex(“^[a-zA-Z]+$”,“名称格式无效”);
如果(IsPost)
{
if(Validation.IsValid())
{
var insertQuery=“插入UserInfo(姓名、姓氏、IdNum、地址、ContNum、课程、成绩)值(@0、@1、@2、@3、@4、@5、@6)”;
db.Execute(插入查询、姓名、姓氏、ID号码、地址、联系人号码、课程、成绩);
}
}      
其他的
{
AddFormError(“您的提交有一些错误”);
}  
}

如果您是想注册的学生,请使用此表格。
姓名: 姓: 身份证号码:
地址:
联系电话:
课程: 等级: @Html.ValidationMessage(“名称”)
@Html.ValidationMessage(“姓氏”)
@Html.ValidationMessage(“num”)
@Html.ValidationMessage(“添加”)
@Html.ValidationMessage(“否”)
@Html.ValidationMessage(“课程”)
@Html.ValidationMessage(“等级”) S7 商业
验证程序。如果数值介于最小值和最大值之间,范围将进行验证。看起来您想验证输入的长度,所以您应该使用
Validator.StringLength()

既然我在这里,您能确切地告诉我我使用的是什么语言吗?我知道这听起来很愚蠢,但我认识的两个人不懂这种语言。我不确定这是不是你的意思,但你在这段代码中使用的编程语言是C#。我明白了……所以这不是ASP.NET?这是ASP.NET。。。但是您使用的语言是C#(您也可以使用VB)。这是一个使用C#作为语言的ASP.NET网页。可能让你提到的人感到困惑的是,你的网站使用的是“ASP.NET网页”(而不是“ASP.NET webforms”或“ASP.NET mvc”)。“Web页面”是webMatrix附带的一种简化类型的Web项目。使用VisualStudio,您只能获得webforms和mvc。您可以在此处阅读有关3种类型的项目: