'use strict';exports.__esModule=true;var_rule=require('../rule/');var_rule2=_interopRequireDefault(_rule);var_util=require('../util');function_interopRequireDefault(obj){returnobj&&obj.__esModule?obj:{'default':obj};}/** * Validates a function. * * @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. */functionmethod(rule,value,callback,source,options){varerrors=[];varvalidate=rule.required||!rule.required&&source.hasOwnProperty(rule.field);if(validate){if((0,_util.isEmptyValue)(value)&&!rule.required){returncallback();}_rule2['default'].required(rule,value,source,errors,options);if(value!==undefined){_rule2['default'].type(rule,value,source,errors,options);}}callback(errors);}exports['default']=method;module.exports=exports['default'];