mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 15:59:52 +03:00
Merge remote-tracking branch 'origin/v3.4' into dev
This commit is contained in:
30
interface/src/validators/ap.ts
Normal file
30
interface/src/validators/ap.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import Schema from 'async-validator';
|
||||
import { isAPEnabled } from '../framework/ap/APSettingsForm';
|
||||
import { APSettings } from '../types';
|
||||
import { IP_ADDRESS_VALIDATOR } from './shared';
|
||||
|
||||
export const createAPSettingsValidator = (apSettings: APSettings) =>
|
||||
new Schema({
|
||||
provision_mode: { required: true, message: 'Please provide a provision mode' },
|
||||
...(isAPEnabled(apSettings) && {
|
||||
ssid: [
|
||||
{ required: true, message: 'Please provide an SSID' },
|
||||
{ type: 'string', max: 32, message: 'SSID must be 32 characters or less' }
|
||||
],
|
||||
password: [
|
||||
{ required: true, message: 'Please provide an access point password' },
|
||||
{ type: 'string', min: 8, max: 64, message: 'Password must be 8-64 characters' }
|
||||
],
|
||||
channel: [
|
||||
{ required: true, message: 'Please provide a network channel' },
|
||||
{ type: 'number', message: 'Channel must be between 1 and 14' }
|
||||
],
|
||||
max_clients: [
|
||||
{ required: true, message: 'Please specify a value for max clients' },
|
||||
{ type: 'number', min: 1, max: 9, message: 'Max clients must be between 1 and 9' }
|
||||
],
|
||||
local_ip: [{ required: true, message: 'Local IP address is required' }, IP_ADDRESS_VALIDATOR],
|
||||
gateway_ip: [{ required: true, message: 'Gateway IP address is required' }, IP_ADDRESS_VALIDATOR],
|
||||
subnet_mask: [{ required: true, message: 'Subnet mask is required' }, IP_ADDRESS_VALIDATOR]
|
||||
})
|
||||
});
|
||||
Reference in New Issue
Block a user