2015-09-09 7 views
7

लॉगिन फ़ॉर्म में, मुझे संबंधित फ़ील्ड नामों के साथ प्रत्येक सत्यापन संदेश के अंत में glyphicon-remove आइकन होना चाहिए। तो मैंने Login model में कोड नीचे कोड का उपयोग किया।वाईआई 2, विशेषता नामों के साथ कस्टम सत्यापन संदेश

['email', 'required', 'message' => 'Email cannot be blank<span class="glyphicon glyphicon-remove"></span>'], 
['password', 'required', 'message' => 'Password cannot be blank<span class="glyphicon glyphicon-remove"></span>'] 

इस उपरोक्त कोड के बजाय, नीचे दिए गए कोड की तरह कुछ उपयोग करने का कोई संभावित तरीका है।

[['email', 'password'], 'required', 'message' => $attribute.' cannot be blank<span class="glyphicon glyphicon-remove"></span>'] 

उपरोक्त कोड का विचार प्रत्येक फ़ील्ड के लिए गतिशील रूप से संबंधित फ़ील्ड नाम प्राप्त करना है।

कृपया जरूरी काम करें। धन्यवाद।

अद्यतन

HTML कोड (<span class="glyphicon glyphicon-remove"></span>) यहाँ मैं का उपयोग किया है encode=>'false' का उपयोग करके सही ढंग से उत्पादन होता है। लेकिन मुझे जो चाहिए वह हर फ़ील्ड के लिए अलग-अलग परिभाषित करने की बजाय, सभी क्षेत्रों के लिए सामान्य रूप से परिभाषित करने की आवश्यकता है।

उत्तर

16

आप विशेषता नाम का संदर्भ देने के लिए अपने संदेश में {विशेषता} का उपयोग कर सकते हैं।

public function rules() 
    { 
    return [ 
     [['email','password', 'password_verify', 'alias', 'fullname'], 'required', 'message' => '{attribute} is required'], 
     [['email'], 'email'], 
     [['fullname'], 'string', 'max' => 50], 
     [['password', 'password_verify'], 'string', 'min' => 8, 'max' => 20], 
     [['password_verify'], 'compare', 'compareAttribute' => 'password'], 
    ]; 
} 

तुम भी अन्य विकल्प {न्यूनतम} या {} requiredValue

+0

धन्यवाद। वास्तव में मुझे क्या चाहिए। आपके उत्तर के लिए फिर से धन्यवाद। हैप्पी कोडिंग :) –

1

अपने रूप में इस जोड़ें:

_form.php

<?php 
    $form = ActiveForm::begin([ 
      'options' => ['enctype' => 'multipart/form-data'], 
      'fieldConfig' => ['errorOptions' => ['encode' => false, 'class' => 'help-block']] 
    ]); 
?> 

errorOptions डिफ़ॉल्ट एन्कोडिंग सच हां, तो अपने html कोड संदेश के रूप में, एन्कोड किया गया है जब तक आप सेट तो यह काम नहीं करेगा 'encode' => false

+0

आपकी रुचि के लिए धन्यवाद की तरह सत्यापनकर्ता में सेट का उपयोग कर सकते हैं, लेकिन मैं कुछ और की जरूरत है। क्या आप कृपया मेरा अद्यतन प्रश्न देख सकते हैं। धन्यवाद। –

संबंधित मुद्दे