Skip to content

Použití s Grido s inline editací - Uncaught TypeError: Cannot read property 'hasError' of undefined #6

Description

@millee111

Zdravím,
začal jsem v aplikaci používat datagrid "Grido" pro nette a v gridu při "inline editaci", když mám nastaven sloupce setRequired a ve kterém lze hodnoty inline editovat, tak při prvním pokusu o uložení prázdné hodnoty mi to vypíše v consoli prohlížeče:
live-form-validation.js:488
Uncaught TypeError: Cannot read property 'hasError' of undefined

Jakmile se tento error objeví, tak při dalších pokusech o uložení prazdné hodnoty se errory neobjevují a správně se u kolonky objeví hláška, že pole je povinné. Udělá to vždy pouze jednou do doby než stránku reloadnu.

Aby se tento error neobjevoval, musím mít současně v aplikaci nalinkovaný soubor netteForms.js:
https://cdn.rawgit.com/nette/forms/v2.2.4/src/assets/netteForms.js

Já jsem ale někde četl, že netteForms.js jsou součástí té knihovny live-form-validation.js, a tak nevím, zda mám mít v aplikaci nalinkované oba soubory a je to tak v pořádku.

Lze to vyzkoušet na tomto example příkladu při inline editaci:
https://github.com/o5/grido-examples

Postup:

  1. nalinkovat do layoutu live-form-validation.js a zakomentovat původní "netteForms.js"
  2. spustit grido examples na presenteru "EditablePresenter.php", kde je umožněna inline editace
  3. udělat inline editaci ve sloupci "Surname": Na nějakou jeho hodnotu najet myší, podržet CTRL + doubleclick
  4. objeví se input pro editaci a obsah toho příjmení celý smazat a dát enter - v tomto kroku při snaze o uložení by se měla vedle inputu objevit hláška "Surname is required.", protože Surname má nastaveno setRequired('...').
    Ale neobjeví, objeví se viz. výše uvedený error. Další pokusy už chybu nehlásí a hláška se vedle inputu správně zobrazuje do doby, než se udělá reload celé stránky.

Error se tedy objevuje jen pokud mám v aplikaci "live-form-validation.js" a současně nemám "netteForms.js".

Předem se omlouvám, pokud to sem nepatří a pokud by to šlo nějak opravit, tak by to bylo skvělé.
Ale jestli je nutné mít v aplikaci nalinkovaný i "netteForms.js", tak potom je tedy vše v pořádku. Já jen myslel, že mi stačí "live-form-validation.js" bez toho netteForms.js.

Děkuji za případnou radu :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions