我正在使用https://github.com/chriso/validator.js插件,我想在node.js中创建一个可用于前端和服务器端的通用验证文件。我创建了一个js文件并使用此代码来实现上述目的。
(function (name, definition) {
if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
var validator = require('../vendor/validator-js/validator');
module.exports = definition(validator);
} else if (typeof define === 'function' && typeof define.amd === 'object') {
define(['validator'], definition(validator));
} else {
this[name] = definition();
}
})('validation-rules', function (Validator) {
'use strict';
/**
You can write your own custom validation rules here.
To include new Validation Method to existing Validation JS module
you can add method like this
Validator.extend('test', function(){
return true;
});
*/
/**
* [isValidName Check a name is valid or not]
* @param {[type]}
* @return {Boolean}
*/
Validator.extend('isValidName', function(str){
return (Validator.isAlpha(str) && Validator.isLength(str, 5, 100));
return Validator;
});
现在,当我使用require在客户端包含此文件时,它给出了我没有定义validationrule的错误。 我在main.js需要文件
中包含了这两个文件validator: 'vendor/validator-js/validator',
validationrules: 'utils/validation-rules',
并在login.js文件中我将其包含在内
define(['validator','validationrules',
], function(validator,validationrules,){
但是当我控制validationrules
时,它会给出未定义的内容。
答案 0 :(得分:-1)
我按照以下方式做到了
(function(definition) {
if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
var validator = require('../vendor/validator-js/validator');
module.exports = definition(validator);
} else if (typeof define === 'function' && typeof define.amd === 'object') {
define(['validator'], function(validator) {
return definition(validator);
});
}
})(function(Validator) {
---- further code