2014-12-19 11 views

risposta

6

Si consiglia di utilizzare l'attributo invece di targetAttribute

['a1', 'unique', 'attribute' => ['a1', 'a2']] 

In questo caso il campo 'A1' riceverà il messaggio di errore.

E l'altro caso:

[['a1', 'a2'], 'unique', 'attribute' => ['a1', 'a2']] 

ora 'A1' e 'a2' attributi riceverà un messaggio di errore se 'A1' e 'A2' non sono unici insieme.

+0

Sì, è corretto. Grazie –

+4

targetAttribute funziona per me .. l'attributo genera un errore. – beginner

+2

Sento che qualcosa non potrebbe essere proprio qui. Docs dice '$ attributes' * Attributi che devono essere convalidati da questo validatore *. E '$ targetAttribute' \t * Il nome dell'attributo ActiveRecord che dovrebbe essere usato per convalidare l'unicità * ** del valore dell'attributo corrente. ** Quindi, $ targetAttribute dovrebbe funzionare bene (in effetti, funziona bene per me). Persino i propri esempi di documenti Yii2 usano "targetAttribute" in assoluto. – slinstj

1

scrivi tu campi univoci come di seguito:

[['field1','field2'], 'unique'] 

Ora, entrambi, field1 e field2 deve essere univoco.

A partire dal documento ufficiale Yii2 s':

targetAttribute: il nome dell'attributo in targetClass che deve essere utilizzato per convalidare l'unicità del valore di ingresso. Se non impostato, utilizzerà il nome dell'attributo attualmente in fase di convalida. È possibile utilizzare una matrice per convalidare l'unicità di più colonne contemporaneamente.

3

targetAttribute saranno utilizzati come di tutte le yii2 docs (2017)

['a1', 'unique', 'targetAttribute' => ['a1', 'a2']] 

In questo campo caso 'A1' riceverà il messaggio di errore.

E l'altro caso:

[['a1', 'a2'], 'unique', 'attribute' => ['a1', 'a2']] 

ora 'A1' e 'a2' attributi riceverà un messaggio di errore se 'A1' e 'A2' non sono unici insieme.

per un messaggio personalizzato comboNotUnique saranno utilizzati al posto di message

[['a1', 'a2'], 'comboNotUnique' => 'Package Id already exist.', 'unique', 'attribute' => ['a1', 'a2']] 
+0

Un buon chiarimento, anche se 'comboNotUnique' è stato deprecato in 2.0.10 e verrà rimosso completamente in 2.1. 'messaggio' dovrebbe essere usato andando avanti. ([Riferimento] (http://www.yiiframework.com/doc-2.0/yii-validators-uniquevalidator.html#$comboNotUnique-detail)) – spencer4of6

Problemi correlati