سؤال

وكيف أتأكد من أن شكل لم تقدم إذا كان أحد التصديقات غير صحيح؟

$('#form').submit(function(){
    validateForm1();
    validateForm(document.forms['dpart2']);
    validateForm(document.forms['dpart3']);                     
}); 
هل كانت مفيدة؟

المحلول

إذا ترجع الدالة كاذبة، لن يتم إرسال النموذج.

$('#form').submit(function(){
    return  validateForm1() 
            && validateForm(document.forms['dpart2']) 
            && validateForm(document.forms['dpart3']);                                         
              }
});

نصائح أخرى

$('#form').submit(function(){
    return (validateForm1() &&
            validateForm(document.forms['dpart2']) &&
            validateForm(document.forms['dpart3']))
});

وفي الأساس، يمكنك العودة كاذبة في وظيفة معالج الحدث.

حسنا، بعض الحلول الأخرى سيكون لها كسول تفشل ... وربما كنت تريد كل ما تبذلونه من التحقق من صحة لتشغيل، بحيث يتم عرض كافة الأخطاء. الافتراض هو أن طرق التحقق من الصحة سيعود كاذبة إذا فشلوا.

$("#myform").submit(function() {

    var ret = true;
    ret = validateForm1() && ret;
    ret = validateForm(document.forms['dpart2']) && ret
    ret = validateForm(document.forms['dpart3'])) && ret
    return ret;

});

وبهذه الطريقة سوف يطلق كل المصادقون، ولكن القيمة المنطقية عن أي فشل، سوف يؤدي إلى الفشل.

إذا validateForm (...) وvalidateForm1 () إرجاع منطقية (يعني صحيح أن يحدث أي خطأ التحقق من صحة)، ثم حاولت القيام بما يلي:

$('#form').submit(function(){
    if (!validateForm1() || !validateForm(document.forms['dpart2']) || !validateForm(document.forms['dpart3'])) {
        return false;
    }
});

ويعتقد أن يأتي تلقائيا: حتى لو كنت نفذت يكون مستعدا التحقق من صحة العميل شامل لتلقي أي بيانات طلب غير صالحة على الملقم الذي يمكن أن نتخيل

.

والتحقق من جانب العميل أبدا يبقى لك من التحقق من جانب الخادم. انها مجرد مكافأة في الاستخدام.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top