18bc1ccdf1242acddb685e7e8cb411c8c3a7d5847f7c8061bf73a952922e8527ed6a852ac776628e3423b7d1ebfa4f94f7888bfa8c87873220ecb740091593 588 B

1234567891011121314151617181920
  1. import rules from '../rule/';
  2. import { isEmptyValue } from '../util';
  3. function type(rule, value, callback, source, options) {
  4. var ruleType = rule.type;
  5. var errors = [];
  6. var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
  7. if (validate) {
  8. if (isEmptyValue(value, ruleType) && !rule.required) {
  9. return callback();
  10. }
  11. rules.required(rule, value, source, errors, options, ruleType);
  12. if (!isEmptyValue(value, ruleType)) {
  13. rules.type(rule, value, source, errors, options);
  14. }
  15. }
  16. callback(errors);
  17. }
  18. export default type;