我想在文本框上添加必填字段验证,我没有为这些文本框使用任何模型参数(注释)。如何做到这一点?
以下是我的代码:
@using (Html.BeginForm())
{
<h1> 3D Pay Örnek Sayfa</h1>
<table class="tableClass">
<tr class="trHeader">
<td>Test</td>
<td>@Html.TextBox("TestIt")</td>
</tr>
</table>
}
我想在文本框上添加必填字段验证,我没有为这些文本框使用任何模型参数(注释)。如何做到这一点?
以下是我的代码:
@using (Html.BeginForm())
{
<h1> 3D Pay Örnek Sayfa</h1>
<table class="tableClass">
<tr class="trHeader">
<td>Test</td>
<td>@Html.TextBox("TestIt")</td>
</tr>
</table>
}
好吧,您确实应该使用模型,但如果您坚持手工操作,我仍然建议使用 jquery 验证插件。
基于http://docs.jquery.com/Plugins/Validation#Example的示例:
(注意:您正在寻找的位是@Html.TextBox("TestIt", "", new { @class="required" })
,它将 class="required" 属性添加到文本框,这反过来告诉 jquery 验证它是一个必填字段。)
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://jzaefferer.github.com/jquery-validation/jquery.validate.js"></script>
<style type="text/css">
* { font-family: Verdana; font-size: 96%; }
label { width: 10em; float: left; }
label.error { float: none; color: red; padding-left: .5em; vertical-align: top; }
p { clear: both; }
.submit { margin-left: 12em; }
em { font-weight: bold; padding-right: 1em; vertical-align: top; }
</style>
<script>
$(document).ready(function(){
$("form").validate();
});
</script>
</head>
<body>
@using (Html.BeginForm())
{
<center>
<h1> 3D Pay Örnek Sayfa</h1>
<table class="tableClass">
<tr class="trHeader">
<td>Test</td>
<td>@Html.TextBox("TestIt", "", new { @class="required" })</td>
</tr>
</table>
</center>
<input type="submit" id="SubmitData" name="SubmitData" value="Submit" />
}
</body>
</html>
请记住,这只是客户端验证——您还需要在服务器端进行验证。由于您没有使用模型,这可能意味着需要一些自定义控制器代码来验证每个输入。
即使您说您没有使用模型,我还是强烈建议您使用模型。
模型:
public class TestModel
{
[Required]
public string TestIt {get; set;}
}
标记:
@Html.TextBoxFor(m => m.TestIt)
@Html.ValidationMessageFor(m => m.TestIt)
有关更多信息,请参阅如何:使用 DataAnnotations 属性验证模型数据。
如果您不使用模型,您可以使用jQuery Validate验证客户端,但这需要更多代码。