* Performs validation for string types. * * @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
(rule, value, callback, source, options)
| 75191 | */ |
| 75192 | |
| 75193 | function string(rule, value, callback, source, options) { |
| 75194 | var errors = []; |
| 75195 | var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); |
| 75196 | |
| 75197 | if (validate) { |
| 75198 | if (isEmptyValue(value, 'string') && !rule.required) { |
| 75199 | return callback(); |
| 75200 | } |
| 75201 | |
| 75202 | rules.required(rule, value, source, errors, options, 'string'); |
| 75203 | |
| 75204 | if (!isEmptyValue(value, 'string')) { |
| 75205 | rules.type(rule, value, source, errors, options); |
| 75206 | rules.range(rule, value, source, errors, options); |
| 75207 | rules.pattern(rule, value, source, errors, options); |
| 75208 | |
| 75209 | if (rule.whitespace === true) { |
| 75210 | rules.whitespace(rule, value, source, errors, options); |
| 75211 | } |
| 75212 | } |
| 75213 | } |
| 75214 | |
| 75215 | callback(errors); |
| 75216 | } |
| 75217 | |
| 75218 | /** |
| 75219 | * Validates a function. |
searching dependent graphs…