importrulesfrom'../rule/';import{isEmptyValue}from'../util';/** * 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.messages The validation messages. */functionstring(rule,value,callback,source,options){varerrors=[];varvalidate=rule.required||!rule.required&&source.hasOwnProperty(rule.field);if(validate){if(isEmptyValue(value,'string')&&!rule.required){returncallback();}rules.required(rule,value,source,errors,options,'string');if(!isEmptyValue(value,'string')){rules.type(rule,value,source,errors,options);rules.range(rule,value,source,errors,options);rules.pattern(rule,value,source,errors,options);if(rule.whitespace===true){rules.whitespace(rule,value,source,errors,options);}}}callback(errors);}exportdefaultstring;