luci-base: fix ip6hint option dependencies and validation

Ref: https://forum.openwrt.org/t/odhcpd-make-lease-file-persistent/44118/8
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2019-09-13 12:57:08 +02:00
parent b384683d14
commit 3734f88c35

View file

@ -187,8 +187,17 @@ return network.registerProtocol('static', {
o.datatype = 'max(64)';
o = s.taboption('general', form.Value, 'ip6hint', _('IPv6 assignment hint'), _('Assign prefix parts using this hexadecimal subprefix ID for this interface.'));
o.placeholder = '0';
o.validate = function(section_id, value) {
var n = parseInt(value, 16);
if (!/^(0x)?[0-9a-fA-F]+$/.test(value) || isNaN(n) || n >= 0xffffffff)
return _('Expecting an hexadecimal assignment hint');
return true;
};
for (var i = 33; i <= 64; i++)
o.depends('ip6assign', i);
o.depends('ip6assign', String(i));
o = s.taboption('general', form.DynamicList, 'ip6addr', _('IPv6 address'));
o.datatype = 'ip6addr';