mirror of
https://github.com/status-im/status-desktop.git
synced 2025-01-11 06:47:01 +00:00
fix(StatusInput): ensure validation is performed on initialization
Closes #326
This commit is contained in:
parent
01c5557621
commit
3c6147c69c
@ -32,6 +32,26 @@ Item {
|
|||||||
|
|
||||||
property var errors: ({})
|
property var errors: ({})
|
||||||
|
|
||||||
|
function validate() {
|
||||||
|
if (validators.length) {
|
||||||
|
for (let idx in validators) {
|
||||||
|
let result = validators[idx].validate(statusBaseInput.text)
|
||||||
|
|
||||||
|
if (typeof result === "boolean" && result) {
|
||||||
|
statusBaseInput.valid = true
|
||||||
|
} else {
|
||||||
|
if (!errors) {
|
||||||
|
errors = {}
|
||||||
|
}
|
||||||
|
errors[validators[idx].name] = result
|
||||||
|
statusBaseInput.valid = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Component.onCompleted: validate()
|
||||||
|
|
||||||
StatusBaseText {
|
StatusBaseText {
|
||||||
id: label
|
id: label
|
||||||
height: visible ? 17 : 0
|
height: visible ? 17 : 0
|
||||||
@ -74,24 +94,7 @@ Item {
|
|||||||
anchors.rightMargin: 16
|
anchors.rightMargin: 16
|
||||||
|
|
||||||
maximumLength: root.charLimit
|
maximumLength: root.charLimit
|
||||||
|
onTextChanged: root.validate()
|
||||||
onTextChanged: {
|
|
||||||
if (root.validators.length) {
|
|
||||||
for (let idx in root.validators) {
|
|
||||||
let result = root.validators[idx].validate(statusBaseInput.text)
|
|
||||||
|
|
||||||
if (typeof result === "boolean" && result) {
|
|
||||||
statusBaseInput.valid = true
|
|
||||||
} else {
|
|
||||||
if (!root.errors) {
|
|
||||||
root.errors = {}
|
|
||||||
}
|
|
||||||
root.errors[root.validators[idx].name] = result
|
|
||||||
statusBaseInput.valid = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
StatusBaseText {
|
StatusBaseText {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user