decoro icon indicating copy to clipboard operation
decoro copied to clipboard

Сдвиг значения буквенного слота в соседний числовой

Open WaterSmith opened this issue 8 years ago • 0 comments

Настроил слот для ввода гос-номера автомобиля, вот так:

public final class AdditionalPredefinedSlots {
    public static final Slot[] CAR_NUMBER_STANDARD = {
            carNumberLetter(),
            PredefinedSlots.hardcodedSlot(' ').withTags(Slot.TAG_DECORATION),
            PredefinedSlots.digit(),
            PredefinedSlots.digit(),
            PredefinedSlots.digit(),
            PredefinedSlots.hardcodedSlot(' ').withTags(Slot.TAG_DECORATION),
            carNumberLetter(),
            carNumberLetter(),
            PredefinedSlots.hardcodedSlot(' ').withTags(Slot.TAG_DECORATION),
            PredefinedSlots.digit(),
            PredefinedSlots.digit(),
            PredefinedSlots.digit()
    };

    public static Slot carNumberLetter() {
        SlotValidatorSet slotValidatorSet = new SlotValidatorSet();
        slotValidatorSet.add(new CarNumberLetterValidator());
        return new Slot(Slot.RULE_INPUT_REPLACE, null, slotValidatorSet);
    }
}

При этом, если в слотах 7 и 8 введены буквы, то при удалении слота 5 (6й у нас декоративный), буквенное значение из слота 7 переносится в него.

Такая же проблема будет при вводе, если отключить правило RULE_INPUT_REPLACE.

И еще одна проблема: если в буквенное поле попытаться ввести недопустимый символ, то правильный за ним уже не вводится, пока не удалишь "невидимый" неправильный.

WaterSmith avatar Oct 23 '17 20:10 WaterSmith