feat(platzhalter): Aufloesung, Namensregeln und Shell-Maskierung (#26)
This commit was merged in pull request #26.
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { istAlsVariableErlaubt } from "@/lib/platzhalter";
|
||||
import { z } from "@/lib/validierung";
|
||||
|
||||
/**
|
||||
@@ -119,7 +120,19 @@ export const VariableSchema = z.object({
|
||||
.regex(
|
||||
/^[a-z][a-z0-9_]{0,39}$/,
|
||||
"Ein Variablenschlüssel beginnt mit einem Kleinbuchstaben und besteht aus Kleinbuchstaben, Ziffern und Unterstrich.",
|
||||
),
|
||||
)
|
||||
/*
|
||||
* Ein eingebauter Name ist als Variable gesperrt – mit einer Ausnahme,
|
||||
* `hostname` (siehe `UEBERSCHREIBBARE_PLATZHALTER`). Sonst hiesse eine
|
||||
* Variable `techniker`, und der fertige Befehl unterschriebe mit einem
|
||||
* Namen, der nicht stimmt. Die Aufloesung wehrt das noch einmal ab; hier
|
||||
* faellt es dem Redakteur auf, **bevor** er die Vorlage veroeffentlicht.
|
||||
*/
|
||||
.refine(istAlsVariableErlaubt, {
|
||||
message:
|
||||
"Diesen Namen gibt es schon als eingebauten Platzhalter. Bitte einen anderen wählen — " +
|
||||
"sonst stünde im fertigen Befehl etwas anderes, als der eingebaute Wert sagt.",
|
||||
}),
|
||||
beschriftung: z.string().trim().min(1, "Eine Variable braucht eine Beschriftung.").max(GRENZEN.text),
|
||||
typ: z.enum(VARIABLEN_TYPEN).default("TEXT"),
|
||||
optionen: z.array(z.string().trim().min(1).max(GRENZEN.text)).max(GRENZEN.optionen).default([]),
|
||||
|
||||
Reference in New Issue
Block a user