Come impostare l'univocità per più campi in ActiveRecord (Yii2)? Ho cercato come scritto nel manualeCome impostare l'univocità per più campi in ActiveRecord (Yii2)?
['a1', 'unique', 'targetAttribute' => ['a1', 'a2']]
Ma non funziona.
Come impostare l'univocità per più campi in ActiveRecord (Yii2)? Ho cercato come scritto nel manualeCome impostare l'univocità per più campi in ActiveRecord (Yii2)?
['a1', 'unique', 'targetAttribute' => ['a1', 'a2']]
Ma non funziona.
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.
Sì, è corretto. Grazie –
targetAttribute funziona per me .. l'attributo genera un errore. – beginner
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
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 intargetClass
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.
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']]
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
Volete ogni attributo per essere unico indidually o la coppia? – arogachev
Anche gli attributi sono entrambi nello stesso modello? – arogachev