以下是一个简单的例子,演示如何在ASP.NET Razor中实现基本的客户端和服务器端验证:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>ASP.NET Razor Validation Example</title>
<script>
function validateForm() {
var name = document.getElementById("txtName").value;
// 客户端验证:确保名称不为空
if (name.trim() === "") {
alert("Please enter a name.");
return false;
}
return true;
}
</script>
</head>
<body>
<h1>ASP.NET Razor Validation Example</h1>
<form method="post" onsubmit="return validateForm()">
<!-- 文本框 -->
<label for="txtName">Name:</label>
<input type="text" id="txtName" name="txtName" />
<!-- 按钮 -->
<button type="submit">Submit</button>
</form>
@{
// 处理表单提交
if (IsPost)
{
var enteredName = Request.Form["txtName"];
// 服务器端验证:确保名称不为空
if (string.IsNullOrWhiteSpace(enteredName))
{
<p style="color: red;">Server-side validation: Please enter a name.</p>
}
else
{
<p>Server-side validation: You entered: @enteredName</p>
}
}
}
</body>
</html>
在这个例子中:
- 使用JavaScript函数validateForm进行客户端验证,确保文本框中的名称不为空。这个函数在表单提交时通过onsubmit事件调用。
- 使用C#代码在服务器端进行验证,确保名称不为空。如果服务器端验证失败,会显示红色的错误消息。
请注意,客户端验证可以被绕过,因此服务器端验证是必不可少的,以确保数据的安全性和完整性。
在实际项目中,你可能会使用更复杂的验证逻辑,例如使用ASP.NET Core中的模型验证(Model Validation)或其他验证库来简化验证代码。
转载请注明出处:http://www.zyzy.cn/article/detail/14892/ASP.NET Razor 标记