Blame view

frontend/web/js/validation/src/additional/additional.js 1021 Bytes
18b850c7   Administrator   Importers CRUD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
  (function() {
  
  	function stripHtml(value) {
  		// remove html tags and space chars
  		return value.replace(/<.[^<>]*?>/g, " ").replace(/&nbsp;|&#160;/gi, " ")
  		// remove punctuation
  		.replace(/[.(),;:!?%#$'\"_+=\/\-“”’]*/g, "");
  	}
  
  	$.validator.addMethod("maxWords", function(value, element, params) {
  		return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length <= params;
  	}, $.validator.format("Please enter {0} words or less."));
  
  	$.validator.addMethod("minWords", function(value, element, params) {
  		return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length >= params;
  	}, $.validator.format("Please enter at least {0} words."));
  
  	$.validator.addMethod("rangeWords", function(value, element, params) {
  		var valueStripped = stripHtml(value),
  			regex = /\b\w+\b/g;
  		return this.optional(element) || valueStripped.match(regex).length >= params[0] && valueStripped.match(regex).length <= params[1];
  	}, $.validator.format("Please enter between {0} and {1} words."));
  
  }());