أسلوب مخصصة مسج المصادقة
-
06-07-2019 - |
سؤال
هل يمكن أن نلقي نظرة على هذه http://jsbin.com/osolo/ من فضلك؟
إذا قمت بإدخال بريد إلكتروني في الحد الأدنى العمر بدلا من عدد ثم ضرب تقديم هذا ما يؤكد استخدام مسج المصادقة باستخدام تعبير عادي في طريقة التحقق من صحة مخصصة، ويعمل هذا ولكن أنا أبحث الآن لجعلها أكثر قليلا ديناميكية.
في طريقة التحقق من صحة مخصصة خط
var data = $(element).metadata();
والاستيلاء على بيانات التعريف عن عنصر يتم التحقق من صحته، ما أود القيام به هو استخدام
data.validateOptions.regex
وكما التعبير المعتاد لاختبار مع (لا استطيع رؤية هذا كونه مشكلة)، ما أستطيع أن أرى كونها مشكلة هو أنه إذا كان المجال لا تتحقق، بدلا من استخدام الرسالة التي يتم توفيرها عند استدعاء
jQuery.validator.addMethod(name, method, message)
وأود أن استخدام
data.validateOptions.message
وكرسالة خطأ من داخل أسلوب مخصصة، يمكن لأي شخص لي نقطة في الاتجاه الصحيح من فضلك؟
والشكر
وOneShot
المحلول
وأعتقد أن الجواب اليكس لا تعمل بسبب السلاسل ثابتة في JS.
وعلى الرغم من انها قريبة. بدءا مع رمز اليكس، إذا قمت بإنشاء إغلاق تحتوي على كائن البيانات (أو مجرد سلسلة الرسالة) وأيضا وظيفة إعادة الرسالة، يمكنك تمرير الدالة كما الوسيطة الثالثة لدعوة addmethod. مثل ذلك:
(function() {
var data = {};
var messager = function() {
return data.validateOptions.message;
};
jQuery.validator.addMethod("perorgproperty", function(value, element) {
debugger;
//alert('testing perorgproperty');
data = $(element).metadata();
return this.optional(element) || /^\d+$/i.test(value);
}, messager);
})();
نصائح أخرى
وماذا عن خلق الإغلاق؟
var data = {};
jQuery.validator.addMethod("perorgproperty", function(value, element) {
debugger;
//alert('testing perorgproperty');
data = $(element).metadata();
return this.optional(element) || /^\d+$/i.test(value);
}, data.validateOptions.message);
وطالما يتم تقييم الدالة قبل الرسالة، أن ليس message
مجرد تمريرها في بالرجوع؟