diff --git a/README.md b/README.md index d3f0288..05206d9 100644 --- a/README.md +++ b/README.md @@ -5,13 +5,27 @@ ## Запуск и сборка приложения Для запуска фронтенда приложения используйте команду: +<<<<<<< HEAD +======= +<<<<<<< HEAD +======= + +>>>>>>> 02f9cff (delete branch) +>>>>>>> 789e718492fae34f8d9104375cf3422e5e96aee7 ```bash make run ``` Для запуска сервера используйте в отдельном терминале команду: +<<<<<<< HEAD + +======= +<<<<<<< HEAD +======= +>>>>>>> 02f9cff (delete branch) +>>>>>>> 789e718492fae34f8d9104375cf3422e5e96aee7 ```bash make start-server ``` @@ -22,10 +36,25 @@ make start-server ## Задача 1 +<<<<<<< HEAD Напишите и экспортируйте по умолчанию функцию `app()`, отвечающую за работу веб-приложения. При старте приложения должна рендериться форма внутри родительского элемента с классом `.form-container`. Форма выглядит следующим образом. Для скорости работы, вы можете добавить ее через `innerHTML`. +======= +<<<<<<< HEAD +Напишите и экспортируйте функцию `validateName()`, которая валидирует строку с условием, что валидным именем считается любая строка с длиной больше 0, исключая пробелы. Если имя валидно, то функция возвращает пустой объект, иначе возвращается объект с ключом errors, который содержит массив со строкой 'введите имя'. + +```javascript +validateName('example'); // [] +validateName(''); // ['name cannot be empty'] +validateName(' '); // ['name cannot be empty'] +======= +Напишите и экспортируйте по умолчанию функцию `app()`, отвечающую за работу веб-приложения. +При старте приложения должна рендериться форма внутри родительского элемента с классом `.form-container`. +Форма выглядит следующим образом. Для скорости работы, вы можете добавить ее через `innerHTML`. + +>>>>>>> 789e718492fae34f8d9104375cf3422e5e96aee7 ```html
@@ -38,10 +67,39 @@ make start-server
+<<<<<<< HEAD +======= +>>>>>>> 02f9cff (delete branch) +>>>>>>> 789e718492fae34f8d9104375cf3422e5e96aee7 ``` ## Задача 2 +<<<<<<< HEAD +Форма, данная в файле **index.html**, имеет кнопку `submit` c текстом `'зарегистрироваться'`. Ваша задача состоит в том, чтобы реализовать для этой кнопки статус `disabled`, когда хотя бы одно из полей невалидно. Иначе кнопка не должна иметь атрибут `disabled`. +======= +<<<<<<< HEAD +Напишите и экспортируйте функцию `validateEmail()`, которая валидирует email, с условием, что валидной почтой считается любая строка с символом `@` посередине, с любой длиной символов, исключая пробелы до и после нее. Если почта валидна, то функция возвращает пустой объект, иначе возвращается объект с ключом errors, который содержит массив со строкой 'введите валидный email'. + +```javascript +validateEmail('example@gmail.com'); // [] +validateEmail('@gmail.com'); // ['invalid email'] +validateEmail('g@ и'); // ['invalid email'] +validateEmail('g@s'); // [] +``` +>>>>>>> 789e718492fae34f8d9104375cf3422e5e96aee7 + +## Задача 3 + +Внутри функции `app()` напишите код, который реализует контролируемый input для каждого поля формы. Инпут должны иметь класс `is-valid`, если его содержимое валидно. Иначе input должен иметь класс `is-invalid`. + +## Задача 4 + +При нажатии кнопки `зарегистрироваться` должен отправляться запрос на сервер с данными формы и в случае успешного ответа содержимое `document.body` нужно заменить на текст ответа сервера, завернутый в теги `

` таким образом: +<<<<<<< HEAD + +======= +======= Форма, данная в файле **index.html**, имеет кнопку `submit` c текстом `'зарегистрироваться'`. Ваша задача состоит в том, чтобы реализовать для этой кнопки статус `disabled`, когда хотя бы одно из полей невалидно. Иначе кнопка не должна иметь атрибут `disabled`. ## Задача 3 @@ -52,6 +110,8 @@ make start-server При нажатии кнопки `зарегистрироваться` должен отправляться запрос на сервер с данными формы и в случае успешного ответа содержимое `document.body` нужно заменить на текст ответа сервера, завернутый в теги `

` таким образом: +>>>>>>> 02f9cff (delete branch) +>>>>>>> 789e718492fae34f8d9104375cf3422e5e96aee7 ```html `

Ответ сервера

`. ``` diff --git a/__tests__/index.test.js b/__tests__/index.test.js index 4df1c62..abbf476 100644 --- a/__tests__/index.test.js +++ b/__tests__/index.test.js @@ -16,7 +16,6 @@ beforeEach(() => { const pathToFixture = path.join('__tests__', '__fixtures__', 'index.html'); const initHtml = fs.readFileSync(pathToFixture).toString(); document.body.innerHTML = initHtml; - const run = app.run ? app.run : () => { } run(); elements = { @@ -97,7 +96,6 @@ test('step4', async () => { const pathToFixture = path.join('__tests__', '__fixtures__', 'index.html'); const initHtml = fs.readFileSync(pathToFixture).toString(); document.body.innerHTML = initHtml; - const run = app.run ? app.run : () => { } run(); elements = { diff --git a/index.html b/index.html index 07681fd..28f93eb 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,25 @@

Регистрация

+<<<<<<< HEAD
+======= +<<<<<<< HEAD +
+
+ + +
+
+ + +
+ +
+======= +
+>>>>>>> 02f9cff (delete branch) +>>>>>>> 789e718492fae34f8d9104375cf3422e5e96aee7