Skip to content

Commit

Permalink
f
Browse files Browse the repository at this point in the history
  • Loading branch information
sseezov committed Mar 27, 2024
1 parent f31a294 commit 1817aac
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 63 deletions.
5 changes: 4 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,15 @@ setup: install
install:
npm ci

run:
dev:
npm run dev

start-server:
node bin/server.js

run:
make start-server & make dev

test:
npm test

Expand Down
69 changes: 7 additions & 62 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,20 @@
- [Экзамен: правила, рекомендации и порядок проведения](https://hexly.notion.site/d9289c18871c44508bc7c7f05a51d94f)

## Запуск и сборка приложения
Для запуска сервера и сборки приложения используйте команду:

Для запуска фронтенда приложения используйте команду:
<<<<<<< HEAD

=======
<<<<<<< HEAD
=======

>>>>>>> 02f9cff (delete branch)
>>>>>>> 789e718492fae34f8d9104375cf3422e5e96aee7
```bash
make run
```

Для запуска сервера используйте в отдельном терминале команду:
<<<<<<< HEAD
Если вы хотите только запустить сборку, то используйте:

```bash
make start-server
```

=======
<<<<<<< HEAD
=======
Для запуска только сервера используйте команду:

>>>>>>> 02f9cff (delete branch)
>>>>>>> 789e718492fae34f8d9104375cf3422e5e96aee7
```bash
make start-server
```
Expand All @@ -36,25 +27,10 @@ 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
<form id="registrationForm">
<div class="form-group">
Expand All @@ -67,39 +43,10 @@ validateName(' '); // ['name cannot be empty']
</div>
<input type="submit" value="Submit" class="btn btn-primary" disabled>
</form>
<<<<<<< HEAD
=======
>>>>>>> 02f9cff (delete branch)
>>>>>>> 789e718492fae34f8d9104375cf3422e5e96aee7
```

## Задача 2

<<<<<<< HEAD
Форма, данная в файле **index.html**, имеет кнопку `submit` c текстом `'зарегистрироваться'`. Ваша задача состоит в том, чтобы реализовать для этой кнопки статус `disabled`, когда хотя бы одно из полей невалидно. Иначе кнопка не должна иметь атрибут `disabled`.
=======
<<<<<<< HEAD
Напишите и экспортируйте функцию `validateEmail()`, которая валидирует email, с условием, что валидной почтой считается любая строка с символом `@` посередине, с любой длиной символов, исключая пробелы до и после нее. Если почта валидна, то функция возвращает пустой объект, иначе возвращается объект с ключом errors, который содержит массив со строкой 'введите валидный email'.

```javascript
validateEmail('[email protected]'); // []
validateEmail('@gmail.com'); // ['invalid email']
validateEmail('g@ и'); // ['invalid email']
validateEmail('g@s'); // []
```
>>>>>>> 789e718492fae34f8d9104375cf3422e5e96aee7

## Задача 3

Внутри функции `app()` напишите код, который реализует контролируемый input для каждого поля формы. Инпут должны иметь класс `is-valid`, если его содержимое валидно. Иначе input должен иметь класс `is-invalid`.

## Задача 4

При нажатии кнопки `зарегистрироваться` должен отправляться запрос на сервер с данными формы и в случае успешного ответа содержимое `document.body` нужно заменить на текст ответа сервера, завернутый в теги `<p></p>` таким образом:
<<<<<<< HEAD

=======
=======
Форма, данная в файле **index.html**, имеет кнопку `submit` c текстом `'зарегистрироваться'`. Ваша задача состоит в том, чтобы реализовать для этой кнопки статус `disabled`, когда хотя бы одно из полей невалидно. Иначе кнопка не должна иметь атрибут `disabled`.

## Задача 3
Expand All @@ -110,8 +57,6 @@ validateEmail('g@s'); // []

При нажатии кнопки `зарегистрироваться` должен отправляться запрос на сервер с данными формы и в случае успешного ответа содержимое `document.body` нужно заменить на текст ответа сервера, завернутый в теги `<p></p>` таким образом:

>>>>>>> 02f9cff (delete branch)
>>>>>>> 789e718492fae34f8d9104375cf3422e5e96aee7
```html
`<p>Ответ сервера</p>`.
```

0 comments on commit 1817aac

Please sign in to comment.