目标:
*当您按下提交按钮时,应在文本框内执行客户端验证。
*如果是okey,请执行actionresult 否则,显示一条带语句"最多10个字母"的弹出消息。用OK按钮。
标准是最多10个字母。
问题:
我不知道该怎么做
的信息:
*我使用VS2013和ASP.net mvc,jQuery,javascript
*没有服务器验证。
<!DOCTYPE html>
<html>
<body>
<form>
First name: <input type="text" name="FirstName" value="Mickey"><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
答案 0 :(得分:1)
您应该使用带有razor语法的数据注释来进行此类验证。不需要编写单独的代码。请参阅以下示例
public class TestClass
{
[DisplayName("Description")]
[StringLength(100, MinimumLength = 10)]
[Required]
public string Description { get; set; }
[DisplayName("Supply Type")]
[Required]
public int SupplyType { get; set; }
[DisplayName("Activation Date")]
[Required]
[DataType(DataType.DateTime)]
public DateTime ActivationDate { get; set; }
}
在View中写如下
@using (Html.BeginForm("Create", "CO2Config", FormMethod.Post)
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
//your code
}
答案 1 :(得分:1)
<form id="target">
First name: <input type="text" name="FirstName" id="txtname" ><br>
<input type="submit" value="Submit">
</form>
和Js
$( "#target" ).submit(function( event ) {
var getText=$('#txtname').val().trim();
var len=getText.length;
if(len > 10){
alert('max 10 size');
event.preventDefault();
}
});
检查表单提交的长度。
答案 2 :(得分:0)
使用以下代码。
<!DOCTYPE html>
<html>
<head>
<script>
function form_validate(){
var name= document.getElementById("name");
if(name=="")
{
alert("Name is required !!");
return false;
}
if(name.length>10)
{
alert("Name is not more than 10 character !!");
return false;
}
return true;
}
<script>
</head>
<body>
<form onsubmit="return form_validate();">
First name: <input id="name" type="text" name="FirstName" value=""><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
答案 3 :(得分:0)
不需要单独的javascript代码,在类定义中使用数据注释定义需要进行的验证,并在视图中简单地将控件绑定到该模型。@ Html.ValidationSummary(true)语法将确保完成验证。
答案 4 :(得分:0)