我正在学习如何使用自定义验证器进行服务器端验证,但我似乎无法让它工作。每当我单击按钮时,文本框为空,错误消息就不会显示。我究竟做错了什么?
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" ControlToValidate="TextBox1"
OnServerValidate="CustomValidator1_ServerValidate" ValidationGroup="ValidateGp"
ErrorMessage="This is a custom error validator" runat="server"/>
<asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="ValidateGp"/>
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
if (args.Value.Equals(string.Empty))
{
args.IsValid = false;
}
else
{
args.IsValid = true;
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个JS动态表单,我可以添加或删除字段:
Field 1
Field 2
Field 3
Field 4
Run Code Online (Sandbox Code Playgroud)
现在,如果我删除Field 2并添加一个新字段:
Field 1
Field 3
Field 4
Field 5
Run Code Online (Sandbox Code Playgroud)
我是通过表单元素中的Ajax POST发送的.我的问题是服务器端PHP处理.我怎么知道$ _POST数组中有多少个字段,它们的ID是什么?我正在使用"field"+ counterIndex生成唯一ID,但是按照示例我怎样才能理解我总共有4个字段并且缺少2个字段?顺便说一句,在表单内部我也有静态字段.
我有以下模型类
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
public class Person {
@Max(value = 10, message = "First name should be smaller than 10 characters.")
private String fname;
@Min(value = 5, message = "Last name should have atleast 5 characters.")
private String lname;
private String status;
public Person(String fname, String lname, String status) {
super();
this.fname = fname;
this.lname = lname;
this.status = status;
}
Run Code Online (Sandbox Code Playgroud)
以下是我正在验证Person模型类的Test类.
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Set;
import javax.validation.Configuration;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import …Run Code Online (Sandbox Code Playgroud) java hibernate-validator bean-validation server-side-validation
有没有办法改进这些服务器端用户字段验证?
<cfif Form.LoginName EQ ""><h1>Login Name is required.</h1></cfif>
<cfif Form.Password EQ ""><h1>Password is required.</h1></cfif>
<cfif Form.Password NEQ Form.PasswordConfirmation><h1>Password confirmation does not match Password.</h1></cfif>
<cfif Form.FirstName EQ ""><h1>First Name is required.</h1></cfif>
<cfif Form.LastName EQ ""><h1>Last Name is required.</h1></cfif>
<cfif Form.LoginName EQ "" OR Form.Password EQ "" OR Form.Password NEQ Form.PasswordConfirmation OR Form.FirstName EQ "" OR Form.LastName EQ "">
<p>User has not been created</p>
<p>You can use your browser's back button to keep form fields filled and try again.</p>
<p><a href="users.cfm">Return to …Run Code Online (Sandbox Code Playgroud)