Add validation
This commit is contained in:
parent
e0664222fe
commit
32dde23728
1 changed files with 29 additions and 16 deletions
|
@ -6,16 +6,28 @@
|
||||||
InlineAlert,
|
InlineAlert,
|
||||||
Input,
|
Input,
|
||||||
} from "@budibase/bbui"
|
} from "@budibase/bbui"
|
||||||
|
import { createValidationStore } from "helpers/validation/yup"
|
||||||
|
|
||||||
export let app
|
export let app
|
||||||
export let published
|
export let published
|
||||||
let includeInternalTablesRows = true
|
let includeInternalTablesRows = true
|
||||||
let encypt = true
|
let encypt = true
|
||||||
|
|
||||||
let password
|
let password
|
||||||
let passwordError
|
const validation = createValidationStore()
|
||||||
|
validation.addValidatorType("password", "password", "true")
|
||||||
|
|
||||||
|
function validate() {
|
||||||
|
return validation.check({ password })
|
||||||
|
}
|
||||||
|
$: {
|
||||||
|
if ($validation.errors.length) {
|
||||||
|
validate()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const Step = { CONFIG: "config", SET_PASSWORD: "set_password" }
|
const Step = { CONFIG: "config", SET_PASSWORD: "set_password" }
|
||||||
let currentStep = Step.CONFIG
|
let currentStep = Step.SET_PASSWORD
|
||||||
|
|
||||||
$: exportButtonText = published ? "Export published" : "Export latest"
|
$: exportButtonText = published ? "Export published" : "Export latest"
|
||||||
$: stepConfig = {
|
$: stepConfig = {
|
||||||
|
@ -34,9 +46,9 @@
|
||||||
[Step.SET_PASSWORD]: {
|
[Step.SET_PASSWORD]: {
|
||||||
title: "Add password to encrypt your export",
|
title: "Add password to encrypt your export",
|
||||||
confirmText: exportButtonText,
|
confirmText: exportButtonText,
|
||||||
onConfirm: () => {
|
onConfirm: async () => {
|
||||||
if (!password) {
|
await validate()
|
||||||
passwordError = "Password is required"
|
if (!$validation.valid) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
exportApp()
|
exportApp()
|
||||||
|
@ -72,10 +84,11 @@
|
||||||
{/if}
|
{/if}
|
||||||
{#if currentStep === Step.SET_PASSWORD}
|
{#if currentStep === Step.SET_PASSWORD}
|
||||||
<Input
|
<Input
|
||||||
|
type="password"
|
||||||
label="Password"
|
label="Password"
|
||||||
placeholder="Type here..."
|
placeholder="Type here..."
|
||||||
bind:value={password}
|
bind:value={password}
|
||||||
error={passwordError}
|
error={$validation.errors.password}
|
||||||
/>
|
/>
|
||||||
{/if}
|
{/if}
|
||||||
</ModalContent>
|
</ModalContent>
|
||||||
|
|
Loading…
Reference in a new issue