如何在django book逯谢竦肕odelform每一个字段所有validator

如何在django模板中获得ModelForm每一个字段所有validator?
来源:互联网
编辑:刘梓楠
有网友碰到过这样的问题:如何在django模板中获得ModelForm每一个字段所有validator?,问题详细内容为:ModelForm的每一个字段都有一些validator,有一部分是在ModelForm中定义的,而有些可能是在Model中定义的。 如何在模&
板中获得遍历每个字段的validator呢?&
这样做是为了统一实现javascript的客户端验证。& 为了更好的说明问题,下面是一个简单的Model定义和ModelForm的定义:&
#Model定义 from django.db import models from django.core.validators import MinLengthValidator class Notebook(models.Model):
name = models.CharField(u&名称&,max_length=60,null=False,blank=False,error_messages={'name':u'名称错误'})
content = models.TextField()
createtime = models.DateTimeField(null=False,blank=False)
ip = models.CharField(max_length=20,null=False,blank=False)
#ModelForm定义 from django import forms from django.forms import ModelForm from notes.notebook.models import Notebook from django.core.validators import MinLengthValidator class NotebookEditForm(ModelForm):
#name字段在这儿也定义了一个validator
name = forms.CharField(widget=forms.TextInput(attrs={'style':'width: 300px'}),help_text=u'60 chars',validators=[MinLengthValidator(4)])
content = forms.CharField(widget=forms.Textarea(attrs={'style':'width:300px'}))
class Meta:
model = Notebook
fields = ('name','content')
我尝试过使用form.fields['name'].validators 去取的validator,但是不成功,name字段本应该有& require,maxlength,minlength三个validator但是事实上一个都取不到,得到的数组是空的。& 谢谢。&,我搜你通过互联网收集了相关的一些解决方案,希望对有过相同或者相似问题的网友提供帮助,具体如下:暂时还未收集到解决方案,如您有解决办法请在下面留言回答请注意,本站信息均收集自互联网,相关信息仅供参考,医疗等重要信息请以正规途径为最终意见,本站不承担任何责任!
您可能还关注
用户推荐相关内容必须字段验证控件RequiredFieldValidator:它用于限制空字段,在页面提交前不允许输入为空。在工具箱中的&验证&一栏中可以找到这个控件。
RequiredFieldValidator控件使用的标准代码如下:
&ASP:RequiredFieldValidator id=&Validator_Name& Runat=&Server&&
 ControlToValidate=&要检查的控件名&&
 ErrorMessage=&出错信息&&
 Display=&Static|Dymatic|None&&
&/ASP: RequiredFieldValidator&
RequiredFieldValidator控件常用属性:
1、ControlToValidate:该属性指定需要验证的控件,设置该属性时,可以从其后的下拉菜单中选择窗体中的任一个控件作为验证对象;
2、ErrorMessage:表示当验证失败时,在ValidatorSummary控件上出现的错误信息,些验证消息同时也会在RequiredFieldValidator控件上显示;若RequiredFieldValidator控件已设置了Text属性,在验证失败时则会显示Text指定消息,而不是ErrorMessage指定的消息。
3、Display:错误信息的显示方式;display,它有3个可能的取值,分别是None、Static和Dinamic;
display的属性值及其意义
动态显示验证错误信息,其在页面上的位置空间只有在验证错误发生时才给出
验证错误信息,但是不显示到页面上
与Dinamic不同,该属性使得不管验证错误是否发生,页面都会留出供显示错误信息的空间
占位符:表示Display为Static时,错误信息占有&占位符&那么大的页面空间。
由于属性值为Dinamic时,验证错误信息是动态给出的。因此,如果之前该空间被其他页面内容占据时,会导致这部分内容的显示位置发生变化,从而可能使页面布局并非预想的那样。所以在选择属性值的时候,应该在兼顾布局的基础上,充分利用空间,综合利用这3种取值的优势。
RequiredFieldValidator控件应用实例:验证用户名字段。
页面代码:
&form id=&form1& runat=&server&&
&&&&&&& 请输入用户名:&asp:TextBox ID=&TextBox1& runat=&server&&&/asp:TextBox&
&&&&&&& *&br /&
&&&&&&& &asp:Button ID=&Button1& runat=&server& Text=&提交& /&
&&&&&&& &asp:RequiredFieldValidator ID=&RequiredFieldValidator2& runat=&server&
&&&&&&&&&&& ControlToValidate=&TextBox1&
&&&&&&&&&&& ErrorMessage=&RequiredFieldValidator& &必须输入用户名&/asp:RequiredFieldValidator&
&&& &/div&
&&& &/form&
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:46237次
积分:1343
积分:1343
排名:第13186名
原创:85篇
评论:53条
(1)(13)(24)(1)(25)(21)1433人阅读
1. 自定义的FileChecks类。主要是为了支持DispatchAction类的使用
package&com.qiujy.web.
import&javax.servlet.http.HttpServletR
import&mons.validator.F
import&mons.validator.V
import&mons.validator.ValidatorA
import&org.apache.struts.G
import&org.apache.struts.action.ActionM
import&org.apache.struts.action.ActionM
import&org.apache.struts.actions.DispatchA
import&org.apache.struts.validator.FieldC
public&class&MyFieldChecks&extends&FieldChecks&{
&&&&private&static&final&long&serialVersionUID&=&8584139L;
&&&&private&static&final&String&SEPARATOR&=&",";
&&&&private&static&boolean&isIn(String&source,&String&in)&{
&&&&&&&&source&=&SEPARATOR&+&source&+&SEPARATOR;
&&&&&&&&if&(source.indexOf(SEPARATOR&+&in&+&SEPARATOR)&!=&-1)&{
&&&&&&&&&&&&return&true;
&&&&&&&&}&else&{
&&&&&&&&&&&&return&false;
&&&&private&static&boolean&isNeedValidate(Field&field,
&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&boolean&flag&=&true;
&&&&&&&&ActionMapping&mapping&=&(ActionMapping)&request
&&&&&&&&&&&&&&&&.getAttribute(Globals.MAPPING_KEY);
&&&&&&&&String&className&=&mapping.getType();
&&&&&&&&String&input&=&request.getHeader("Referer");
&&&&&&&&if&(input&!=&null)&{
&&&&&&&&&&&&
&&&&&&&&try&{
&&&&&&&&&&&&
&&&&&&&&&&&&if&(Class.forName(className).newInstance()&instanceof&DispatchAction)&{
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&String&parameter&=&mapping.getParameter();
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&String&currentMethodName&=&request.getParameter(parameter);
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&String&methods&=&field.getVarValue("methodsNeedValidation");
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&if&(null&==&methods&||&"".equals(methods)
&&&&&&&&&&&&&&&&&&&&&&&&||&!isIn(methods,&currentMethodName))&{
&&&&&&&&&&&&&&&&&&&&flag&=&false;
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&}
&&&&&&&&}&catch&(ClassNotFoundException&e)&{
&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&}&catch&(InstantiationException&e)&{
&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&}&catch&(IllegalAccessException&e)&{
&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&return&
&&&&public&static&boolean&validateRequired(Object&bean,&ValidatorAction&va,
&&&&&&&&&&&&Field&field,&ActionMessages&errors,&Validator&validator,
&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&if&(isNeedValidate(field,&request))&{
&&&&&&&&&&&&return&FieldChecks.validateRequired(bean,&va,&field,&errors,
&&&&&&&&&&&&&&&&&&&&validator,&request);
&&&&&&&&}&else&{
&&&&&&&&&&&&return&true;
&&&&public&static&boolean&validateRequiredIf(Object&bean,&ValidatorAction&va,
&&&&&&&&&&&&Field&field,&ActionMessages&errors,&Validator&validator,
&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&if&(isNeedValidate(field,&request))&{
&&&&&&&&&&&&return&FieldChecks.validateRequiredIf(bean,&va,&field,&errors,
&&&&&&&&&&&&&&&&&&&&validator,&request);
&&&&&&&&}&else&{
&&&&&&&&&&&&return&true;
&&&&public&static&boolean&validateMask(Object&bean,&ValidatorAction&va,
&&&&&&&&&&&&Field&field,&ActionMessages&errors,&Validator&validator,
&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&if&(isNeedValidate(field,&request))&{
&&&&&&&&&&&&return&FieldChecks.validateMask(bean,&va,&field,&errors,&validator,
&&&&&&&&&&&&&&&&&&&&request);
&&&&&&&&}&else&{
&&&&&&&&&&&&return&true;
&&&&public&static&Object&validateByte(Object&bean,&ValidatorAction&va,
&&&&&&&&&&&&Field&field,&ActionMessages&errors,&Validator&validator,
&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&if&(isNeedValidate(field,&request))&{
&&&&&&&&&&&&return&FieldChecks.validateByte(bean,&va,&field,&errors,&validator,
&&&&&&&&&&&&&&&&&&&&request);
&&&&&&&&}&else&{
&&&&&&&&&&&&return&true;
&&&&public&static&Object&validateShort(Object&bean,&ValidatorAction&va,
&&&&&&&&&&&&Field&field,&ActionMessages&errors,&Validator&validator,
&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&if&(isNeedValidate(field,&request))&{
&&&&&&&&&&&&return&FieldChecks.validateShort(bean,&va,&field,&errors,
&&&&&&&&&&&&&&&&&&&&validator,&request);
&&&&&&&&}&else&{
&&&&&&&&&&&&return&true;
&&&&public&static&Object&validateInteger(Object&bean,
&&&&&&&&&&&&ValidatorAction&va,&Field&field,
&&&&&&&&&&&&ActionMessages&errors,
&&&&&&&&&&&&Validator&validator,
&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&if&(isNeedValidate(field,&request))&{
&&&&&&&&&&&&return&FieldChecks.validateInteger(bean,&va,&field,&errors,
&&&&&&&&&&&&&&&&&&&&validator,&request);
&&&&&&&&}&else&{
&&&&&&&&&&&&return&true;
&&&&public&static&Object&validateLong(Object&bean,
&&&&&&&&&&&&ValidatorAction&va,&Field&field,
&&&&&&&&&&&&ActionMessages&errors,
&&&&&&&&&&&&Validator&validator,
&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&if&(isNeedValidate(field,&request))&{
&&&&&&&&&&&&return&FieldChecks.validateLong(bean,&va,&field,&errors,
&&&&&&&&&&&&&&&&&&&&validator,&request);
&&&&&&&&}&else&{
&&&&&&&&&&&&return&true;
&&&&public&static&Object&validateFloat(Object&bean,
&&&&&&&&&&&&ValidatorAction&va,&Field&field,
&&&&&&&&&&&&ActionMessages&errors,
&&&&&&&&&&&&Validator&validator,
&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&if&(isNeedValidate(field,&request))&{
&&&&&&&&&&&&return&FieldChecks.validateLong(bean,&va,&field,&errors,
&&&&&&&&&&&&&&&&&&&&validator,&request);
&&&&&&&&}&else&{
&&&&&&&&&&&&return&true;
&&&&public&static&Object&validateDouble(Object&bean,
&&&&&&&&&&&&ValidatorAction&va,&Field&field,
&&&&&&&&&&&&ActionMessages&errors,
&&&&&&&&&&&&Validator&validator,
&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&if&(isNeedValidate(field,&request))&{
&&&&&&&&&&&&return&FieldChecks.validateDouble(bean,&va,&field,&errors,
&&&&&&&&&&&&&&&&&&&&validator,&request);
&&&&&&&&}&else&{
&&&&&&&&&&&&return&true;
&&&&public&static&Object&validateDate(Object&bean,
&&&&&&&&&&&&ValidatorAction&va,&Field&field,
&&&&&&&&&&&&ActionMessages&errors,
&&&&&&&&&&&&Validator&validator,
&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&if&(isNeedValidate(field,&request))&{
&&&&&&&&&&&&return&FieldChecks.validateDate(bean,&va,&field,&errors,
&&&&&&&&&&&&&&&&&&&&validator,&request);
&&&&&&&&}&else&{
&&&&&&&&&&&&return&true;
&&&&public&static&boolean&validateIntRange(Object&bean,
&&&&&&&&&&&&ValidatorAction&va,&Field&field,
&&&&&&&&&&&&ActionMessages&errors,
&&&&&&&&&&&&Validator&validator,
&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&if&(isNeedValidate(field,&request))&{
&&&&&&&&&&&&return&FieldChecks.validateIntRange(bean,&va,&field,&errors,
&&&&&&&&&&&&&&&&&&&&validator,&request);
&&&&&&&&}&else&{
&&&&&&&&&&&&return&true;
&&&&public&static&boolean&validateDoubleRange(Object&bean,
&&&&&&&&&&&&ValidatorAction&va,&Field&field,
&&&&&&&&&&&&ActionMessages&errors,
&&&&&&&&&&&&Validator&validator,
&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&if&(isNeedValidate(field,&request))&{
&&&&&&&&&&&&return&FieldChecks.validateDoubleRange(bean,&va,&field,&errors,
&&&&&&&&&&&&&&&&&&&&validator,&request);
&&&&&&&&}&else&{
&&&&&&&&&&&&return&true;
&&&&public&static&boolean&validateFloatRange(Object&bean,
&&&&&&&&&&&&ValidatorAction&va,&Field&field,
&&&&&&&&&&&&ActionMessages&errors,
&&&&&&&&&&&&Validator&validator,
&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&if&(isNeedValidate(field,&request))&{
&&&&&&&&&&&&return&FieldChecks.validateFloatRange(bean,&va,&field,&errors,
&&&&&&&&&&&&&&&&&&&&validator,&request);
&&&&&&&&}&else&{
&&&&&&&&&&&&return&true;
&&&&public&static&Object&validateCreditCard(Object&bean,
&&&&&&&&&&&&ValidatorAction&va,&Field&field,
&&&&&&&&&&&&ActionMessages&errors,
&&&&&&&&&&&&Validator&validator,
&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&if&(isNeedValidate(field,&request))&{
&&&&&&&&&&&&return&FieldChecks.validateCreditCard(bean,&va,&field,&errors,
&&&&&&&&&&&&&&&&&&&&validator,&request);
&&&&&&&&}&else&{
&&&&&&&&&&&&return&true;
&&&&public&static&boolean&validateEmail(Object&bean,
&&&&&&&&&&&&ValidatorAction&va,&Field&field,
&&&&&&&&&&&&ActionMessages&errors,
&&&&&&&&&&&&Validator&validator,
&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&if&(isNeedValidate(field,&request))&{
&&&&&&&&&&&&return&FieldChecks.validateEmail(bean,&va,&field,&errors,
&&&&&&&&&&&&&&&&&&&&validator,&request);
&&&&&&&&}&else&{
&&&&&&&&&&&&return&true;
&&&&public&static&boolean&validateMaxLength(Object&bean,
&&&&&&&&&&&&ValidatorAction&va,&Field&field,
&&&&&&&&&&&&ActionMessages&errors,
&&&&&&&&&&&&Validator&validator,
&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&if&(isNeedValidate(field,&request))&{
&&&&&&&&&&&&return&FieldChecks.validateMaxLength(bean,&va,&field,&errors,
&&&&&&&&&&&&&&&&&&&&validator,&request);
&&&&&&&&}&else&{
&&&&&&&&&&&&return&true;
&&&&public&static&boolean&validateMinLength(Object&bean,
&&&&&&&&&&&&ValidatorAction&va,&Field&field,
&&&&&&&&&&&&ActionMessages&errors,
&&&&&&&&&&&&Validator&validator,
&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&if&(isNeedValidate(field,&request))&{
&&&&&&&&&&&&return&FieldChecks.validateMinLength(bean,&va,&field,&errors,
&&&&&&&&&&&&&&&&&&&&validator,&request);
&&&&&&&&}&else&{
&&&&&&&&&&&&return&true;
&&&&public&static&boolean&validateUrl(Object&bean,
&&&&&&&&&&&&&ValidatorAction&va,&Field&field,
&&&&&&&&&&&&&ActionMessages&errors,
&&&&&&&&&&&&&Validator&validator,
&&&&&&&&&&&&&HttpServletRequest&request)&{
&&&&&&&&if&(isNeedValidate(field,&request))&{
&&&&&&&&&&&&return&FieldChecks.validateUrl(bean,&va,&field,&errors,
&&&&&&&&&&&&&&&&&&&&validator,&request);
&&&&&&&&}&else&{
&&&&&&&&&&&&return&true;
2. 修改validate-rules.xml,使用自定义的字段验证类:
&&&&&&&name="required"
&&&&&&&&&&&&classname="com.qiujy.web.validator.MyFieldChecks"
&&&&&&&&&&&&&&&method="validateRequired"
&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&&&&&&&&&&&&msg="errors.required"
&&&&&&&name="requiredif"
&&&&&&&&&&&&&&&&&classname="com.qiujy.web.validator.MyFieldChecks"
&&&&&&&&&&&&&&&&&method="validateRequiredIf"
&&&&&&&&&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&&&&&&&&&&&msg="errors.required"
&&&&&&&name="validwhen"
&&&&&&&&&&msg="errors.required"
&&&&&&&&&&&&&&&&&classname="org.apache.struts.validator.validwhen.ValidWhen"
&&&&&&&&&&&&&&&&&method="validateValidWhen"
&&&&&&&&&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&name="minlength"
&&&&&&&&&&&&classname="com.qiujy.web.validator.MyFieldChecks"
&&&&&&&&&&&&&&&method="validateMinLength"
&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&&&&&&&&depends=""
&&&&&&&&&&&&&&&&&&msg="errors.minlength"
&&&&&&&&&&&jsFunction="mons.validator.javascript.validateMinLength"
&&&&&&&name="maxlength"
&&&&&&&&&&&&classname="com.qiujy.web.validator.MyFieldChecks"
&&&&&&&&&&&&&&&method="validateMaxLength"
&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&&&&&&&&depends=""
&&&&&&&&&&&&&&&&&&msg="errors.maxlength"
&&&&&&&&&&&jsFunction="mons.validator.javascript.validateMaxLength"
&&&&&&&name="mask"
&&&&&&&&&&&&classname="com.qiujy.web.validator.MyFieldChecks"
&&&&&&&&&&&&&&&method="validateMask"
&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&&&&&&&&depends=""
&&&&&&&&&&&&&&&&&&msg="errors.invalid"
&&&&&&&name="byte"
&&&&&&&&&&&&classname="com.qiujy.web.validator.MyFieldChecks"
&&&&&&&&&&&&&&&method="validateByte"
&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&&&&&&&&depends=""
&&&&&&&&&&&&&&&&&&msg="errors.byte"
&&&&&&&jsFunctionName="ByteValidations"
&&&&&&&name="short"
&&&&&&&&&&&&classname="com.qiujy.web.validator.MyFieldChecks"
&&&&&&&&&&&&&&&method="validateShort"
&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&&&&&&&&depends=""
&&&&&&&&&&&&&&&&&&msg="errors.short"
&&&&&&&jsFunctionName="ShortValidations"
&&&&&&&name="integer"
&&&&&&&&&&&&classname="com.qiujy.web.validator.MyFieldChecks"
&&&&&&&&&&&&&&&method="validateInteger"
&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&&&&&&&&depends=""
&&&&&&&&&&&&&&&&&&msg="errors.integer"
&&&&&&&jsFunctionName="IntegerValidations"
&&&&&&&name="long"
&&&&&&&&&&&&classname="com.qiujy.web.validator.MyFieldChecks"
&&&&&&&&&&&&&&&method="validateLong"
&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&&&&&&&&depends=""
&&&&&&&&&&&&&&&&&&msg="errors.long"
&&&&&&&name="float"
&&&&&&&&&&&&classname="com.qiujy.web.validator.MyFieldChecks"
&&&&&&&&&&&&&&&method="validateFloat"
&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&&&&&&&&depends=""
&&&&&&&&&&&&&&&&&&msg="errors.float"
&&&&&&&jsFunctionName="FloatValidations"
&&&&&&&name="double"
&&&&&&&&&&&&classname="com.qiujy.web.validator.MyFieldChecks"
&&&&&&&&&&&&&&&method="validateDouble"
&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&&&&&&&&depends=""
&&&&&&&&&&&&&&&&&&msg="errors.double"
&&&&&&&name="date"
&&&&&&&&&&&&classname="com.qiujy.web.validator.MyFieldChecks"
&&&&&&&&&&&&&&&method="validateDate"
&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&&&&&&&&depends=""
&&&&&&&&&&&&&&&&&&msg="errors.date"
&&&&&&&jsFunctionName="DateValidations"
&&&&&&&name="intRange"
&&&&&&&&&&&&classname="com.qiujy.web.validator.MyFieldChecks"
&&&&&&&&&&&&&&&method="validateIntRange"
&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&&&&&&&&depends="integer"
&&&&&&&&&&&&&&&&&&msg="errors.range"
&&&&&&&name="floatRange"
&&&&&&&&&&&&classname="com.qiujy.web.validator.MyFieldChecks"
&&&&&&&&&&&&&&&method="validateFloatRange"
&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&&&&&&&&depends="float"
&&&&&&&&&&&&&&&&&&msg="errors.range"
&&&&&&&name="doubleRange"
&&&&&&&&&&&&classname="com.qiujy.web.validator.MyFieldChecks"
&&&&&&&&&&&&&&&method="validateDoubleRange"
&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&&&&&&&&depends="double"
&&&&&&&&&&&&&&&&&&msg="errors.range"
&&&&&&&name="creditCard"
&&&&&&&&&&&&classname="com.qiujy.web.validator.MyFieldChecks"
&&&&&&&&&&&&&&&method="validateCreditCard"
&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&&&&&&&&depends=""
&&&&&&&&&&&&&&&&&&msg="errors.creditcard"
&&&&&&&name="email"
&&&&&&&&&&&&classname="com.qiujy.web.validator.MyFieldChecks"
&&&&&&&&&&&&&&&method="validateEmail"
&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&&&&&&&&depends=""
&&&&&&&&&&&&&&&&&&msg="errors.email"
&&&&&&&name="url"
&&&&&&&&&&&&classname="com.qiujy.web.validator.MyFieldChecks"
&&&&&&&&&&&&&&&method="validateUrl"
&&&&&&&&&methodParams="java.lang.Object,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.ValidatorAction,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Field,
&&&&&&&&&&&&&&&&&&&&&&&org.apache.struts.action.ActionMessages,
&&&&&&&&&&&&&&&&&&&&&&&mons.validator.Validator,
&&&&&&&&&&&&&&&&&&&&&&&javax.servlet.http.HttpServletRequest"
&&&&&&&&&&&&&&depends=""
&&&&&&&&&&&&&&&&&&msg="errors.url"
&&&&&&&This&simply&allows&struts&to&include&the&validateUtilities&into&a&page,&it&should
&&&&&&&not&be&used&as&a&validation&rule.
&&&&&&name="includeJavaScriptUtilities"
&&&&&&&&&&&&classname=""
&&&&&&&&&&&&&&&method=""
&&&&&&&&&methodParams=""
&&&&&&&&&&&&&&depends=""
&&&&&&&&&&&&&&&&&&msg=""
&&&&&&&&&&&jsFunction="mons.validator.javascript.validateUtilities"
&&&注意观察,验证字段使用的类。
3.配置具体的验证规则validation.xml:
&version="1.0"&encoding="ISO-8859-1"&
&&&&&&&&&name="/user"
&&&&&&&&&&&&&property="username"&page=""&depends="required"
&&&&&&&&&&&&&&&&&key="login.username"&
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&methodsNeedValidation
&&&&&&&&&&&&&&&&&&&&login,registe
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&
&&&&&&&&&&&&&property="pwd"&depends="required,mask"
&&&&&&&&&&&&&&&&&key="login.pwd"&
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&mask
&&&&&&&&&&&&&&&&&&&&^/w{3,}$
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&methodsNeedValidation
&&&&&&&&&&&&&&&&&&&&login,registe
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&
&&&&&&&&&&&&&property="pwd2"&depends="required,mask"
&&&&&&&&&&&&&&&&&key="login.pwd"&
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&mask
&&&&&&&&&&&&&&&&&&&&^/w{3,}$
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&methodsNeedValidation
&&&&&&&&&&&&&&&&&&&&registe
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&
4.struts-config.xml文件
&version="1.0"&encoding="ISO-8859-1"&
&&&&&&&&&name="myForm"
&&&&&&&&&&&&type="com.qiujy.web.formbeans.UserForm"&
&&&&&&&&&path="/user"&
&&&&&&&&&&&&&&&&&&&&&&type="com.qiujy.web.actions.UserAction"
&&&&&&&&&&&&&&&&&&&&&&&&name="myForm"&
&&&&&&&&&&&&&&&&&&&&&&&&scope="request"&
&&&&&&&&&&&&&&&&&&&&&&&&validate="true"&
&&&&&&&&&&&&&&&&&&&&&&&&parameter="method"
&&&&&&&&&&&&&&&&&&&&&&&&input="/validate_failure.jsp"
&&&&&&&&&&&&&name="success"&path="/success.jsp"
&&&&&&&&&&&&&name="failure"&path="/failure.jsp"
&&&&&parameter="MessageResources"&
&&&&&className="org.apache.struts.validator.ValidatorPlugIn"
&&&&&&&&&property="pathnames"
&&&&&&&&&&&&value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"&
5.UserAction类
package&com.qiujy.web.
import&java.util.D
import&javax.servlet.http.HttpServletR
import&javax.servlet.http.HttpServletR
import&org.apache.struts.action.ActionF
import&org.apache.struts.action.ActionF
import&org.apache.struts.action.ActionM
import&com.qiujy.entity.U
import&com.qiujy.service.UserS
import&com.qiujy.web.formbeans.UserF
public&class&UserAction&extends&BaseAction&{
&&&&public&ActionForward&login(ActionMapping&mapping,&
&&&&&&&&&&&&ActionForm&form,
&&&&&&&&&&&&HttpServletRequest&request,&
&&&&&&&&&&&&HttpServletResponse&response)
&&&&&&&&&&&&throws&Exception&{
&&&&&&&&UserForm&myForm&=&(UserForm)
&&&&&&&&String&username&=&myForm.getUsername();
&&&&&&&&String&pwd&=&myForm.getPwd();
&&&&&&&&UserService&service&=&new&UserService();
&&&&&&&&boolean&flag&=&service.validate(username,&pwd);
&&&&&&&&if(flag){
&&&&&&&&&&&&
&&&&&&&&&&&&return&mapping.findForward("success");
&&&&&&&&}else{
&&&&&&&&&&&&return&mapping.findForward("failure");
&&&&public&ActionForward&registe(ActionMapping&mapping,&
&&&&&&&&&&&&ActionForm&form,
&&&&&&&&&&&&HttpServletRequest&request,&
&&&&&&&&&&&&HttpServletResponse&response)
&&&&&&&&&&&&throws&Exception&{
&&&&&&&&UserForm&rf&=&(UserForm)
&&&&&&&&String&username&=&rf.getUsername();
&&&&&&&&String&pwd&=&rf.getPwd();
&&&&&&&&String&email&=&rf.getEmail();
&&&&&&&&User&user&=&new&User();
&&&&&&&&user.setUsername(username);
&&&&&&&&user.setPwd(pwd);
&&&&&&&&user.setEmail(email);
&&&&&&&&user.setDescription("");
&&&&&&&&user.setRegitedTime(new&Date());
&&&&&&&&UserService&service&=&new&UserService();
&&&&&&&&try{
&&&&&&&&&&&&service.addUser(user);
&&&&&&&&&&&&return&mapping.findForward("success")&;
&&&&&&&&}catch(RuntimeException&re){
&&&&&&&&&&&&re.printStackTrace();
&&&&&&&&&&&&return&mapping.findForward("failure");
6.UserForm类
package&com.qiujy.web.
import&org.apache.struts.validator.ValidatorActionF
public&class&UserForm&extends&ValidatorActionForm&{
&&&&private&static&final&long&serialVersionUID&=&3257467L;
&&&&private&String&
&&&&private&String&
&&&&private&String&pwd2;
&&&&private&String&
&&&&public&String&getUsername()&{
&&&&&&&&return&
&&&&public&void&setUsername(String&username)&{
&&&&&&&&this.username&=&
&&&&public&String&getPwd()&{
&&&&&&&&return&
&&&&public&void&setPwd(String&pwd)&{
&&&&&&&&this.pwd&=&
&&&&public&String&getPwd2()&{
&&&&&&&&return&pwd2;
&&&&public&void&setPwd2(String&pwd2)&{
&&&&&&&&this.pwd2&=&pwd2;
&&&&public&String&getEmail()&{
&&&&&&&&return&
&&&&public&void&setEmail(String&email)&{
&&&&&&&&this.email&=&
7.页面及资源文件略。具体参见示例程序代码。到我的资源库去下载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:652650次
积分:6614
积分:6614
排名:第1094名
原创:129篇
转载:20篇
评论:1015条
(1)(1)(1)(1)(4)(1)(1)(2)(2)(6)(8)(15)(3)(2)(1)(1)(5)(3)(1)(2)(4)(3)(6)(1)(3)(4)(2)(3)(2)(19)(3)(2)(2)(2)(1)(2)(5)(25)}

我要回帖

更多关于 django 教程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信