30 lines
		
	
	
		
			916 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			916 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import rules from '../rule/';
 | |
| import { isEmptyValue } from '../util';
 | |
| 
 | |
| /**
 | |
|  *  Validates a number.
 | |
|  *
 | |
|  *  @param rule The validation rule.
 | |
|  *  @param value The value of the field on the source object.
 | |
|  *  @param callback The callback function.
 | |
|  *  @param source The source object being validated.
 | |
|  *  @param options The validation options.
 | |
|  *  @param options.messages The validation messages.
 | |
|  */
 | |
| function number(rule, value, callback, source, options) {
 | |
|   var errors = [];
 | |
|   var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
 | |
|   if (validate) {
 | |
|     if (isEmptyValue(value) && !rule.required) {
 | |
|       return callback();
 | |
|     }
 | |
|     rules.required(rule, value, source, errors, options);
 | |
|     if (value !== undefined) {
 | |
|       rules.type(rule, value, source, errors, options);
 | |
|       rules.range(rule, value, source, errors, options);
 | |
|     }
 | |
|   }
 | |
|   callback(errors);
 | |
| }
 | |
| 
 | |
| export default number; | 
