Ich mache meine eigenen benutzerdefinierten Validierungen für bestimmte Felder, so dass nur bestimmte Werte akzeptiert werden (abhängig vom Feld) und der Rest abgelehnt wird. Ich möchte eine "Filter" -Funktion schreiben, die überprüft, welches Attribut die Validierung genannt wird und von dort entscheiden, welche Wörter das Attribut verwenden darf. So würde das Modell wie folgt aussehen:Wie kann man wissen, welches Attribut die Validierungsregel für die Wasserlinie genannt wurde?
module.exports = {
types: {
filter: function(attribute) {
if (attribute === 'number') {
switch(attribute.value) {
case 'one':
return true;
case 'two':
return true;
default:
return false;
}
} else if (attribute === 'color') {
switch(attribute.value) {
case 'red':
return true;
case 'blue':
return true;
default:
return false;
}
}
},
},
attributes: {
number: {
type: 'string',
required: true,
filter: true
},
color: {
type: 'string',
required: true,
filter: true
}
}
};
natürlich im normalen Sails.js Verhalten „attribute
“ wäre nicht das Attribut sein, aber der Wert des Attributs. (Und attribute.value
war nur ein Beispiel, was bedeutet, ich möchte den Attributwert drin).
Also, ich möchte attribute
, um das eigentliche Attribut, das die Validierungsregel aufgerufen wird. Ist das mit Sails möglich? Ich meine, ich könnte eine Funktion für jedes Feld im Modell schreiben, aber es wäre schön, eine Funktion zu haben, die zu allen passt (ich habe viele davon).
Danke.