You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					32 lines
				
				901 B
			
		
		
			
		
	
	
					32 lines
				
				901 B
			| 
								 
											4 years ago
										 
									 | 
							
								import rules from '../rule/';
							 | 
						||
| 
								 | 
							
								import { isEmptyValue } from '../util';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function date(rule, value, callback, source, options) {
							 | 
						||
| 
								 | 
							
								  // console.log('integer rule called %j', rule);
							 | 
						||
| 
								 | 
							
								  var errors = [];
							 | 
						||
| 
								 | 
							
								  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
							 | 
						||
| 
								 | 
							
								  // console.log('validate on %s value', value);
							 | 
						||
| 
								 | 
							
								  if (validate) {
							 | 
						||
| 
								 | 
							
								    if (isEmptyValue(value) && !rule.required) {
							 | 
						||
| 
								 | 
							
								      return callback();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    rules.required(rule, value, source, errors, options);
							 | 
						||
| 
								 | 
							
								    if (!isEmptyValue(value)) {
							 | 
						||
| 
								 | 
							
								      var dateObject = void 0;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      if (typeof value === 'number') {
							 | 
						||
| 
								 | 
							
								        dateObject = new Date(value);
							 | 
						||
| 
								 | 
							
								      } else {
							 | 
						||
| 
								 | 
							
								        dateObject = value;
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      rules.type(rule, dateObject, source, errors, options);
							 | 
						||
| 
								 | 
							
								      if (dateObject) {
							 | 
						||
| 
								 | 
							
								        rules.range(rule, dateObject.getTime(), source, errors, options);
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  callback(errors);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export default date;
							 |