<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: fValidator for mootools 1.2</title>
	<atom:link href="http://pilon.nl/mootools/2008/11/28/hefvalidator-for-mootools-12/feed/" rel="self" type="application/rss+xml" />
	<link>http://pilon.nl/mootools/2008/11/28/hefvalidator-for-mootools-12/</link>
	<description>Just another MooTools weblog</description>
	<lastBuildDate>Thu, 17 Jun 2010 02:45:30 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: eraseunavez</title>
		<link>http://pilon.nl/mootools/2008/11/28/hefvalidator-for-mootools-12/comment-page-1/#comment-38</link>
		<dc:creator>eraseunavez</dc:creator>
		<pubDate>Mon, 27 Jul 2009 16:39:09 +0000</pubDate>
		<guid isPermaLink="false">http://ljpilon.nl/mootools/?p=1#comment-38</guid>
		<description>Hi, great work ;)

I just wanted the same as @Rory Ye, but I changed the regular expressions to have a * instead a +
But... i may part _validate into &quot;required&quot; and &quot;default&quot; because a required date input gets validated twice when empty, and i think i&#039;ll give only one message to the user...</description>
		<content:encoded><![CDATA[<p>Hi, great work <img src='http://pilon.nl/mootools/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I just wanted the same as @Rory Ye, but I changed the regular expressions to have a * instead a +<br />
But&#8230; i may part _validate into &#8220;required&#8221; and &#8220;default&#8221; because a required date input gets validated twice when empty, and i think i&#8217;ll give only one message to the user&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: davcaffa</title>
		<link>http://pilon.nl/mootools/2008/11/28/hefvalidator-for-mootools-12/comment-page-1/#comment-35</link>
		<dc:creator>davcaffa</dc:creator>
		<pubDate>Fri, 19 Jun 2009 19:04:59 +0000</pubDate>
		<guid isPermaLink="false">http://ljpilon.nl/mootools/?p=1#comment-35</guid>
		<description>I man 
I made some a modification to Your good class :)
The modification use Asset for charge dynamic inclusion for the language .
Here is the modified class:
[code]var fValidator = new Class({

    Implements: [Events, Options],
    
	options: {
		msgContainerTag: &quot;div&quot;,
		msgClass: &quot;fValidator-msg&quot;,

		styleNeutral: {&quot;background-color&quot;: &quot;#fff&quot;, &quot;border-color&quot;: &quot;#369&quot;},
		styleInvalid: {&quot;background-color&quot;: &quot;#fcc&quot;, &quot;border-color&quot;: &quot;#c00&quot;},
		styleValid: {&quot;background-color&quot;: &quot;#cfc&quot;, &quot;border-color&quot;: &quot;#0c0&quot;},

		language: &quot;en&quot;,
        // Absolute path to languages 
        languagesPath: &#039;./fValidator-lang/&#039;,

		required: {type: &quot;required&quot;, re: /[^.*]/},
		alpha: {type: &quot;alpha&quot;, re: /^[a-z ._-]+$/i},
		alphanum: {type: &quot;alphanum&quot;, re: /^[a-z0-9 ._-]+$/i},
		integer: {type: &quot;integer&quot;, re: /^[-+]?\d+$/},
		real: {type: &quot;real&quot;, re: /^[-+]?\d*\.?\d+$/},
		date: {type: &quot;date&quot;, re: /^((((0[13578])&#124;([13578])&#124;(1[02]))[\/](([1-9])&#124;([0-2][0-9])&#124;(3[01])))&#124;(((0[469])&#124;([469])&#124;(11))[\/](([1-9])&#124;([0-2][0-9])&#124;(30)))&#124;((2&#124;02)[\/](([1-9])&#124;([0-2][0-9]))))[\/]\d{4}$&#124;^\d{4}$/},
		dateISO8601: {type: &quot;dateISO8601&quot;, re: /^[0-9]{4}-(0[1-9]&#124;1[0-2])-(0[1-9]&#124;[1-2][0-9]&#124;3[0-1])$/},
		dateEu: {type: &quot;dateEU&quot;, re: /^(((([1-9])&#124;([0-2][0-9])&#124;(3[01]))[-]((0[13578])&#124;([13578])&#124;(1[02])))&#124;((([1-9])&#124;([0-2][0-9])&#124;(30))[-]((0[469])&#124;([469])&#124;(11)))&#124;((([1-9])&#124;([0-2][0-9])))[-](2&#124;02))[-]\d{4}$&#124;^\d{4}$/},
		email: {type: &quot;email&quot;, re: /^[a-z0-9._%-]+@[a-z0-9.-]+\.[a-z]{2,4}$/i},
		phone: {type: &quot;phone&quot;, re: /^[\d\s ().-]+$/},
		url: {type: &quot;url&quot;, re: /^(http&#124;https&#124;ftp)\:\/\/[a-z0-9\-\.]+\.[a-z]{2,3}(:[a-z0-9]*)?\/?([a-z0-9\-\._\?\,\&#039;\/\\\+&amp;%\$#\=~])*$/i},
		zip: {type: &quot;zip&quot;, re: /^\d{5}(-\d{4})?$/i}, 
        confirm: {type: &quot;confirm&quot;},
		
		onValid: Class.empty,
		onInvalid: Class.empty
	},

	initialize: function(form, options) {
        this.setOptions(options);
        
        // charge js language
        var testar = new Asset.javascript(this.options.languagesPath + this.options.language + &#039;.js&#039;, {id: &#039;fValidatorLang&#039;});
        
        // set language
        //this.languageConfig = i18n;
        
		this.form = $(form);

		this.fields = this.form.getElements(&quot;*[class^=fValidate]&quot;);
		this.validations = [];

		this.fields.each(function(element) {
			if(!this._isChildType(element)) element.setStyles(this.options.styleNeutral);
			element.cbErr = 0;
			var classes = element.getProperty(&quot;class&quot;).split(&#039; &#039;);
			classes.each(function(klass) {
				if(klass.match(/^fValidate(\[.+\])$/)) {
					var aFilters = eval(klass.match(/^fValidate(\[.+\])$/)[1]);
					for(var i = 0; i &lt; aFilters.length; i++) {
						if(this.options[aFilters[i]]) this.register(element, this.options[aFilters[i]]);
						if(aFilters[i].charAt(0) == &#039;=&#039;) this.register(element, $extend(this.options.confirm, {idField: aFilters[i].substr(1)}));
					}
				}
			}.bind(this));
		}.bind(this));

		this.form.addEvents({
			&quot;submit&quot;: this._onSubmit.bind(this),
			&quot;reset&quot;: this._onReset.bind(this)
		});
	},

	register: function(field, options) {
		field = $(field);
		this.validations.push([field, options]);
		field.addEvent(&quot;blur&quot;, function() {
			this._validate(field, options);
		}.bind(this));
	},

	_isChildType: function(el) {
		var elType = el.type.toLowerCase();
		if((elType == &quot;radio&quot;) &#124;&#124; (elType == &quot;checkbox&quot;)) return true;
		return false;
	},

	_validate: function(field, options) {
		switch(options.type) {
			case &quot;confirm&quot;:
				if($(options.idField).get(&#039;value&#039;) == field.get(&#039;value&#039;)) this._msgRemove(field, options);
				else this._msgInject(field, options);
				break;
			default:
				if(options.re.test(field.get(&#039;value&#039;))) this._msgRemove(field, options);
				else this._msgInject(field, options);
		}
	},

	_validateChild: function(child, options) {
		var nlButtonGroup = this.form[child.getProperty(&quot;name&quot;)];
		var cbCheckeds = 0;
		var isValid = true;
 		for(var i = 0; i  0) isValid = false;
		}.bind(this));

		if(!isValid) event.stop();
		return isValid;
	},

	_onReset: function() {
		this.validations.each(function(array) {
			if(!this._isChildType(array[0])) array[0].setStyles(this.options.styleNeutral);
			array[0].cbErr = 0;
			this._msgRemove(array[0], array[1], true);
		}.bind(this));
	}
});[/code]

And the included languages files structure is:
[code]var i18n = {
    required:    &quot;This field is required.&quot;,
    alpha:        &quot;This field accepts alphabetic characters only.&quot;,
    alphanum:    &quot;This field accepts alphanumeric characters only.&quot;,
    integer:    &quot;Please enter a valid integer.&quot;,
    real:        &quot;Please enter a valid number.&quot;,
    date:        &quot;Please enter a valid date (mm/dd/yyyy).&quot;,
    dateISO8601:&quot;Please enter a valid date (yyyy-mm-dd).&quot;,
    dateEU:        &quot;Please enter a valid date (mm-dd-yyyy).&quot;,
    email:        &quot;Please enter a valid email.&quot;,
    phone:        &quot;Please enter a valid phone.&quot;,
    url:        &quot;Please enter a valid url.&quot;,
    zip:        &quot;Please enter a valid zip code.&quot;,
    confirm:    &quot;Confirm Password does not match original Password.&quot;
};[/code]
Here [url]http://davidecaffaratti.com/upload/fValidator.zip[/url] can download the complete script (added compressed version of the class) and, sure, if You want can put all file in on Your site ;)</description>
		<content:encoded><![CDATA[<p>I man<br />
I made some a modification to Your good class <img src='http://pilon.nl/mootools/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
The modification use Asset for charge dynamic inclusion for the language .<br />
Here is the modified class:<br />
[code]var fValidator = new Class({</p>
<p>    Implements: [Events, Options],</p>
<p>	options: {<br />
		msgContainerTag: "div",<br />
		msgClass: "fValidator-msg",</p>
<p>		styleNeutral: {"background-color": "#fff", "border-color": "#369"},<br />
		styleInvalid: {"background-color": "#fcc", "border-color": "#c00"},<br />
		styleValid: {"background-color": "#cfc", "border-color": "#0c0"},</p>
<p>		language: "en",<br />
        // Absolute path to languages<br />
        languagesPath: './fValidator-lang/',</p>
<p>		required: {type: "required", re: /[^.*]/},<br />
		alpha: {type: "alpha", re: /^[a-z ._-]+$/i},<br />
		alphanum: {type: "alphanum", re: /^[a-z0-9 ._-]+$/i},<br />
		integer: {type: "integer", re: /^[-+]?\d+$/},<br />
		real: {type: "real", re: /^[-+]?\d*\.?\d+$/},<br />
		date: {type: "date", re: /^((((0[13578])|([13578])|(1[02]))[\/](([1-9])|([0-2][0-9])|(3[01])))|(((0[469])|([469])|(11))[\/](([1-9])|([0-2][0-9])|(30)))|((2|02)[\/](([1-9])|([0-2][0-9]))))[\/]\d{4}$|^\d{4}$/},<br />
		dateISO8601: {type: "dateISO8601", re: /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/},<br />
		dateEu: {type: "dateEU", re: /^(((([1-9])|([0-2][0-9])|(3[01]))[-]((0[13578])|([13578])|(1[02])))|((([1-9])|([0-2][0-9])|(30))[-]((0[469])|([469])|(11)))|((([1-9])|([0-2][0-9])))[-](2|02))[-]\d{4}$|^\d{4}$/},<br />
		email: {type: "email", re: /^[a-z0-9._%-]+@[a-z0-9.-]+\.[a-z]{2,4}$/i},<br />
		phone: {type: "phone", re: /^[\d\s ().-]+$/},<br />
		url: {type: "url", re: /^(http|https|ftp)\:\/\/[a-z0-9\-\.]+\.[a-z]{2,3}(:[a-z0-9]*)?\/?([a-z0-9\-\._\?\,\'\/\\\+&amp;%\$#\=~])*$/i},<br />
		zip: {type: "zip", re: /^\d{5}(-\d{4})?$/i},<br />
        confirm: {type: "confirm"},</p>
<p>		onValid: Class.empty,<br />
		onInvalid: Class.empty<br />
	},</p>
<p>	initialize: function(form, options) {<br />
        this.setOptions(options);</p>
<p>        // charge js language<br />
        var testar = new Asset.javascript(this.options.languagesPath + this.options.language + '.js', {id: 'fValidatorLang'});</p>
<p>        // set language<br />
        //this.languageConfig = i18n;</p>
<p>		this.form = $(form);</p>
<p>		this.fields = this.form.getElements("*[class^=fValidate]");<br />
		this.validations = [];</p>
<p>		this.fields.each(function(element) {<br />
			if(!this._isChildType(element)) element.setStyles(this.options.styleNeutral);<br />
			element.cbErr = 0;<br />
			var classes = element.getProperty("class").split(' ');<br />
			classes.each(function(klass) {<br />
				if(klass.match(/^fValidate(\[.+\])$/)) {<br />
					var aFilters = eval(klass.match(/^fValidate(\[.+\])$/)[1]);<br />
					for(var i = 0; i &lt; aFilters.length; i++) {<br />
						if(this.options[aFilters[i]]) this.register(element, this.options[aFilters[i]]);<br />
						if(aFilters[i].charAt(0) == '=') this.register(element, $extend(this.options.confirm, {idField: aFilters[i].substr(1)}));<br />
					}<br />
				}<br />
			}.bind(this));<br />
		}.bind(this));</p>
<p>		this.form.addEvents({<br />
			"submit": this._onSubmit.bind(this),<br />
			"reset": this._onReset.bind(this)<br />
		});<br />
	},</p>
<p>	register: function(field, options) {<br />
		field = $(field);<br />
		this.validations.push([field, options]);<br />
		field.addEvent("blur", function() {<br />
			this._validate(field, options);<br />
		}.bind(this));<br />
	},</p>
<p>	_isChildType: function(el) {<br />
		var elType = el.type.toLowerCase();<br />
		if((elType == "radio") || (elType == "checkbox")) return true;<br />
		return false;<br />
	},</p>
<p>	_validate: function(field, options) {<br />
		switch(options.type) {<br />
			case "confirm":<br />
				if($(options.idField).get('value') == field.get('value')) this._msgRemove(field, options);<br />
				else this._msgInject(field, options);<br />
				break;<br />
			default:<br />
				if(options.re.test(field.get('value'))) this._msgRemove(field, options);<br />
				else this._msgInject(field, options);<br />
		}<br />
	},</p>
<p>	_validateChild: function(child, options) {<br />
		var nlButtonGroup = this.form[child.getProperty("name")];<br />
		var cbCheckeds = 0;<br />
		var isValid = true;<br />
 		for(var i = 0; i  0) isValid = false;<br />
		}.bind(this));</p>
<p>		if(!isValid) event.stop();<br />
		return isValid;<br />
	},</p>
<p>	_onReset: function() {<br />
		this.validations.each(function(array) {<br />
			if(!this._isChildType(array[0])) array[0].setStyles(this.options.styleNeutral);<br />
			array[0].cbErr = 0;<br />
			this._msgRemove(array[0], array[1], true);<br />
		}.bind(this));<br />
	}<br />
});[/code]</p>
<p>And the included languages files structure is:<br />
[code]var i18n = {<br />
    required:    "This field is required.",<br />
    alpha:        "This field accepts alphabetic characters only.",<br />
    alphanum:    "This field accepts alphanumeric characters only.",<br />
    integer:    "Please enter a valid integer.",<br />
    real:        "Please enter a valid number.",<br />
    date:        "Please enter a valid date (mm/dd/yyyy).",<br />
    dateISO8601:"Please enter a valid date (yyyy-mm-dd).",<br />
    dateEU:        "Please enter a valid date (mm-dd-yyyy).",<br />
    email:        "Please enter a valid email.",<br />
    phone:        "Please enter a valid phone.",<br />
    url:        "Please enter a valid url.",<br />
    zip:        "Please enter a valid zip code.",<br />
    confirm:    "Confirm Password does not match original Password."<br />
};[/code]<br />
Here [url]http://davidecaffaratti.com/upload/fValidator.zip[/url] can download the complete script (added compressed version of the class) and, sure, if You want can put all file in on Your site <img src='http://pilon.nl/mootools/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lennart</title>
		<link>http://pilon.nl/mootools/2008/11/28/hefvalidator-for-mootools-12/comment-page-1/#comment-11</link>
		<dc:creator>Lennart</dc:creator>
		<pubDate>Mon, 23 Feb 2009 10:53:39 +0000</pubDate>
		<guid isPermaLink="false">http://ljpilon.nl/mootools/?p=1#comment-11</guid>
		<description>Good to see you found a solution to your problem!</description>
		<content:encoded><![CDATA[<p>Good to see you found a solution to your problem!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rory Ye</title>
		<link>http://pilon.nl/mootools/2008/11/28/hefvalidator-for-mootools-12/comment-page-1/#comment-10</link>
		<dc:creator>Rory Ye</dc:creator>
		<pubDate>Fri, 20 Feb 2009 02:05:26 +0000</pubDate>
		<guid isPermaLink="false">http://ljpilon.nl/mootools/?p=1#comment-10</guid>
		<description>Hi,Lennart I just change this
	_validate: function(field, options) {
		switch(options.type) {
			case &quot;confirm&quot;:
				if($(options.idField).get(&#039;value&#039;) == field.get(&#039;value&#039;)) this._msgRemove(field, options);
				else this._msgInject(field, options);
				break;
			case &quot;required&quot;:
				if(options.re.test(field.get(&#039;value&#039;))) this._msgRemove(field, options);
				else this._msgInject(field, options);
				break;
			default:
				if(field.get(&#039;value&#039;)==&quot;&quot;) break;
				if(options.re.test(field.get(&#039;value&#039;))) this._msgRemove(field, options);
				else this._msgInject(field, options);
		}
	},

add this line
if(field.get(&#039;value&#039;)==&quot;&quot;) break;
and worked for me.</description>
		<content:encoded><![CDATA[<p>Hi,Lennart I just change this<br />
	_validate: function(field, options) {<br />
		switch(options.type) {<br />
			case &#8220;confirm&#8221;:<br />
				if($(options.idField).get(&#8216;value&#8217;) == field.get(&#8216;value&#8217;)) this._msgRemove(field, options);<br />
				else this._msgInject(field, options);<br />
				break;<br />
			case &#8220;required&#8221;:<br />
				if(options.re.test(field.get(&#8216;value&#8217;))) this._msgRemove(field, options);<br />
				else this._msgInject(field, options);<br />
				break;<br />
			default:<br />
				if(field.get(&#8216;value&#8217;)==&#8221;") break;<br />
				if(options.re.test(field.get(&#8216;value&#8217;))) this._msgRemove(field, options);<br />
				else this._msgInject(field, options);<br />
		}<br />
	},</p>
<p>add this line<br />
if(field.get(&#8216;value&#8217;)==&#8221;") break;<br />
and worked for me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: akira_lee</title>
		<link>http://pilon.nl/mootools/2008/11/28/hefvalidator-for-mootools-12/comment-page-1/#comment-9</link>
		<dc:creator>akira_lee</dc:creator>
		<pubDate>Fri, 06 Feb 2009 13:01:25 +0000</pubDate>
		<guid isPermaLink="false">http://ljpilon.nl/mootools/?p=1#comment-9</guid>
		<description>portuguese validation:

pt: { required: &quot;Este campo é de preenchimento obrigatório.&quot;,
          alpha:  &quot;Este campo só aceita caracteres alfanuméricos.&quot;,
          alphanum: &quot;Este campo só aceita caracteres alfanuméricos.&quot;,
          integer: &quot;Digite um número inteiro válido.&quot;,
          real:  &quot;Digite números válidos.&quot;,
          date:  &quot;Digite uma data válida (mm/dd/yyyy).&quot;,
          dateISO8601:&quot;Digite uma data válida (yyyy-mm-dd).&quot;,
          dateEU:  &quot;Digite uma data válida (mm-dd-yyyy).&quot;,
          email:  &quot;Preencha o campo com um e-mail válido.&quot;,
          phone:  &quot;Digite um número de telefone válido.&quot;,
          url:  &quot;Digite um URL válido.&quot;,
          confirm: &quot;A Password de confirmação não é igual à Password original.&quot;
         },

cheers</description>
		<content:encoded><![CDATA[<p>portuguese validation:</p>
<p>pt: { required: &#8220;Este campo é de preenchimento obrigatório.&#8221;,<br />
          alpha:  &#8220;Este campo só aceita caracteres alfanuméricos.&#8221;,<br />
          alphanum: &#8220;Este campo só aceita caracteres alfanuméricos.&#8221;,<br />
          integer: &#8220;Digite um número inteiro válido.&#8221;,<br />
          real:  &#8220;Digite números válidos.&#8221;,<br />
          date:  &#8220;Digite uma data válida (mm/dd/yyyy).&#8221;,<br />
          dateISO8601:&#8221;Digite uma data válida (yyyy-mm-dd).&#8221;,<br />
          dateEU:  &#8220;Digite uma data válida (mm-dd-yyyy).&#8221;,<br />
          email:  &#8220;Preencha o campo com um e-mail válido.&#8221;,<br />
          phone:  &#8220;Digite um número de telefone válido.&#8221;,<br />
          url:  &#8220;Digite um URL válido.&#8221;,<br />
          confirm: &#8220;A Password de confirmação não é igual à Password original.&#8221;<br />
         },</p>
<p>cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lennart</title>
		<link>http://pilon.nl/mootools/2008/11/28/hefvalidator-for-mootools-12/comment-page-1/#comment-6</link>
		<dc:creator>Lennart</dc:creator>
		<pubDate>Wed, 03 Dec 2008 00:29:55 +0000</pubDate>
		<guid isPermaLink="false">http://ljpilon.nl/mootools/?p=1#comment-6</guid>
		<description>Clear: you want to check for real or empty. Don&#039;t know how to do that using regular expressions though, sorry. If you find a solution, can you let me know? Thnx!</description>
		<content:encoded><![CDATA[<p>Clear: you want to check for real or empty. Don&#8217;t know how to do that using regular expressions though, sorry. If you find a solution, can you let me know? Thnx!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rory Ye</title>
		<link>http://pilon.nl/mootools/2008/11/28/hefvalidator-for-mootools-12/comment-page-1/#comment-5</link>
		<dc:creator>Rory Ye</dc:creator>
		<pubDate>Mon, 01 Dec 2008 02:11:36 +0000</pubDate>
		<guid isPermaLink="false">http://ljpilon.nl/mootools/?p=1#comment-5</guid>
		<description>Sorry for my fuzzy expression,

I just want to validate the &quot;real&quot; when user input some text in the box. and this field is not required.

but when I add &quot;real&quot; validator in this filed and input nothing,Then the errors show &quot;Please enter a valid number.&quot;

clear? thinks.</description>
		<content:encoded><![CDATA[<p>Sorry for my fuzzy expression,</p>
<p>I just want to validate the &#8220;real&#8221; when user input some text in the box. and this field is not required.</p>
<p>but when I add &#8220;real&#8221; validator in this filed and input nothing,Then the errors show &#8220;Please enter a valid number.&#8221;</p>
<p>clear? thinks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lennart</title>
		<link>http://pilon.nl/mootools/2008/11/28/hefvalidator-for-mootools-12/comment-page-1/#comment-4</link>
		<dc:creator>Lennart</dc:creator>
		<pubDate>Sun, 30 Nov 2008 22:02:38 +0000</pubDate>
		<guid isPermaLink="false">http://ljpilon.nl/mootools/?p=1#comment-4</guid>
		<description>@davcaffa: thnx, I added your translation and validation to the code.

@Rory Ye: if you want to match a non-empty string you can use the &#039;required&#039; validation.</description>
		<content:encoded><![CDATA[<p>@davcaffa: thnx, I added your translation and validation to the code.</p>
<p>@Rory Ye: if you want to match a non-empty string you can use the &#8216;required&#8217; validation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rory Ye</title>
		<link>http://pilon.nl/mootools/2008/11/28/hefvalidator-for-mootools-12/comment-page-1/#comment-3</link>
		<dc:creator>Rory Ye</dc:creator>
		<pubDate>Sun, 30 Nov 2008 04:04:47 +0000</pubDate>
		<guid isPermaLink="false">http://ljpilon.nl/mootools/?p=1#comment-3</guid>
		<description>Hi,Lennart Pilon

I want to validate when the input box has values.

how can I do .thinks.</description>
		<content:encoded><![CDATA[<p>Hi,Lennart Pilon</p>
<p>I want to validate when the input box has values.</p>
<p>how can I do .thinks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: davcaffa</title>
		<link>http://pilon.nl/mootools/2008/11/28/hefvalidator-for-mootools-12/comment-page-1/#comment-2</link>
		<dc:creator>davcaffa</dc:creator>
		<pubDate>Sat, 29 Nov 2008 18:02:49 +0000</pubDate>
		<guid isPermaLink="false">http://ljpilon.nl/mootools/?p=1#comment-2</guid>
		<description>Y have make an in Italian and spanish validation here it is:
&lt;code&gt;
                           it: {    required:    &quot;Questo campo è obbligatorio.&quot;,
                                    alpha:        &quot;Questo campo accetta solo lettere.&quot;,
                                    alphanum:    &quot;Questo campo accetta solo caratteri alfanumerici.&quot;,
                                    integer:    &quot;Per favore inserisca un valido numero intero.&quot;,
                                    real:        &quot;Per favore inserisca un numero valido.&quot;,
                                    date:        &quot;Per favore inserisca una data in formato valido (mm/gg/aaaa).&quot;,
                                    dateISO8601:&quot;Per favore inserisca una data in formato valido (aaaa-mm-gg).&quot;,
                                    dateEU:        &quot;Per favore inserisca una data in formato valido (mm-gg-aaaa).&quot;,
                                    email:        &quot;Per favore inserisca una email valida.&quot;,
                                    phone:        &quot;Per favore inserisca un telefono valido.&quot;,
                                    url:        &quot;Per favore inserisca un indirizzo internet valido.&quot;,
                                    zip:        &quot;Per favore inserisca un codice postale valido.&quot;,
                                    confirm:    &quot;La password di controllo non è uguale alla password originale.&quot;
                                },
                           es: {    required:    &quot;Este campo es un campo obligatorio.&quot;,
                                    alpha:        &quot;Este campo acepta solo letteras.&quot;,
                                    alphanum:    &quot;Este campo acepta solo caracteres alfanuméricos.&quot;,
                                    integer:    &quot;Este campo acepta solo números enteros.&quot;,
                                    real:        &quot;Este campo acepta únicamente caracteres numéricos.&quot;,
                                    date:        &quot;Por favor inserte una fetcha en formato valido (mm/dd/aaaa).&quot;,
                                    dateISO8601:&quot;Por favor inserte una fetcha en formato valido (aaaa-mm-dd).&quot;,
                                    dateEU:        &quot;Por favor inserte una fetcha en formato valido (mm-dd-aaaa).&quot;,
                                    email:        &quot;Por favor inserte un correo electrónico valido.&quot;,
                                    phone:        &quot;Por favor inserte un numero de teléfono valido.&quot;, 
                                    url:        &quot;Por favor inserte una direcíon de internet valido.&quot;,
                                    zip:        &quot;Por favor inserte un codigo postal valido.&quot;,
                                    confirm:    &quot;La contraseña de controlo no es igual a la contraseña original.&quot;
                                }
&lt;/code&gt;
And make new default validation:

zip: {type: &quot;zip&quot;, re: /^\d{5}(-\d{4})?$/i}</description>
		<content:encoded><![CDATA[<p>Y have make an in Italian and spanish validation here it is:<br />
<code><br />
                           it: {    required:    "Questo campo è obbligatorio.",<br />
                                    alpha:        "Questo campo accetta solo lettere.",<br />
                                    alphanum:    "Questo campo accetta solo caratteri alfanumerici.",<br />
                                    integer:    "Per favore inserisca un valido numero intero.",<br />
                                    real:        "Per favore inserisca un numero valido.",<br />
                                    date:        "Per favore inserisca una data in formato valido (mm/gg/aaaa).",<br />
                                    dateISO8601:"Per favore inserisca una data in formato valido (aaaa-mm-gg).",<br />
                                    dateEU:        "Per favore inserisca una data in formato valido (mm-gg-aaaa).",<br />
                                    email:        "Per favore inserisca una email valida.",<br />
                                    phone:        "Per favore inserisca un telefono valido.",<br />
                                    url:        "Per favore inserisca un indirizzo internet valido.",<br />
                                    zip:        "Per favore inserisca un codice postale valido.",<br />
                                    confirm:    "La password di controllo non è uguale alla password originale."<br />
                                },<br />
                           es: {    required:    "Este campo es un campo obligatorio.",<br />
                                    alpha:        "Este campo acepta solo letteras.",<br />
                                    alphanum:    "Este campo acepta solo caracteres alfanuméricos.",<br />
                                    integer:    "Este campo acepta solo números enteros.",<br />
                                    real:        "Este campo acepta únicamente caracteres numéricos.",<br />
                                    date:        "Por favor inserte una fetcha en formato valido (mm/dd/aaaa).",<br />
                                    dateISO8601:"Por favor inserte una fetcha en formato valido (aaaa-mm-dd).",<br />
                                    dateEU:        "Por favor inserte una fetcha en formato valido (mm-dd-aaaa).",<br />
                                    email:        "Por favor inserte un correo electrónico valido.",<br />
                                    phone:        "Por favor inserte un numero de teléfono valido.",<br />
                                    url:        "Por favor inserte una direcíon de internet valido.",<br />
                                    zip:        "Por favor inserte un codigo postal valido.",<br />
                                    confirm:    "La contraseña de controlo no es igual a la contraseña original."<br />
                                }<br />
</code><br />
And make new default validation:</p>
<p>zip: {type: &#8220;zip&#8221;, re: /^\d{5}(-\d{4})?$/i}</p>
]]></content:encoded>
	</item>
</channel>
</rss>
