2016-03-30 12 views
0

Sayı ve çizgi gibi girdiyi kabul etmek için codeigniter form validasyonunda bir kural ayarlamayı denedim. Codeigniter belgelerini okudum ama böyle bir şeyi desteklemiyor. Özel bir işlev yazmanın herhangi bir yolu var mı? Herhangi bir yardım çok takdir edilecektir. Eğer doğrulama ayarlarsanız içindeCodeigniter form doğrulama küme sayıları ve kısa çizgileri kabul edecek şekilde ayarlandı

$this->form_validation->set_rules('phone', 'Contact No.', 'callback_my_function'); 

Sen bir işlev ayarlayabilirsiniz olarak

Bir geri arama işlevi olarak özel bir kural belirleyerek form doğrulama içinde
$this->form_validation->set_rules('phone', 'Contact No.', 'numeric'); 
+1

[el] (http://www.codeigniter.com/user_guide/libraries/form_validation.html#callbacks-your-own-validation-methods) mutlaka kapalı geri doğrulama yöntemleri vardır. – budwiser

cevap

2

(this documentation section bakınız) senin kontrol birimi:

function my_function($data) 
{ 
    // your validation code 
} 

$ data parametresi otomatikadan geçirilir. Doğrulanan alandan gelen lly, doğrulanırsa doğrulanmalı veya eğer işe yaramazsa yanlıştır.

+0

Yanıt için teşekkürler, Evet bunu yapmayı planlıyorum ama nasıl yapabilirim? gibi işlev contact_num ($ str) { dönüş (! Preg_match ("/^([- a-z_]) + $/i", $ str))? YANLIŞ DOĞRU; } – claudios

+0

Şu anda çalışıyoruz. Sen tam bir hayat kurtarıcısın. – claudios

0

Şimdi bu benim için çalışıyor. Belki başkalarına yardımcı olabilir.

// Allow dashes to numbers 
    function numeric_dash ($num) { 
    return (! preg_match("/^([0-9-\s])+$/D", $num)) ? FALSE : TRUE; 
    } 
+0

regex'de açık ve kapalı parantez ekleme hakkında ne dersiniz? – jhedm

İlgili konular