mirror of
https://github.com/koloideal/Argenta.git
synced 2026-06-10 18:15:28 +03:00
docs
This commit is contained in:
+10
-11
@@ -3,21 +3,20 @@
|
||||
Флаги вводимых команд
|
||||
=====================
|
||||
|
||||
Флаги (или параметры) — это специальные аргументы, которые конечный юзер может добавлять к командам, чтобы управлять их поведением.
|
||||
Флаги (или параметры) — это специальные аргументы, которые пользователь может добавлять к командам для управления их поведением.
|
||||
|
||||
-----
|
||||
|
||||
Синтаксис флагов
|
||||
-----------------
|
||||
|
||||
Обобщённый синтаксис выглядит так:
|
||||
Общий синтаксис выглядит так:
|
||||
|
||||
.. code-block:: py
|
||||
|
||||
<command_name> <flag_prefix: Literal['-', '--', '---']><flag_name> <flag_value: Optional>
|
||||
|
||||
То есть у флага обязательно должен быть префикс, который может быть одним, двумя или тремя минусами. После префикса следует имя флага, без
|
||||
пробела, после чего, через пробел, идёт значение флага, если оно есть.
|
||||
Флаг состоит из префикса (``-``, ``--`` или ``---``), имени и, опционально, значения, которое указывается через пробел.
|
||||
|
||||
-----
|
||||
|
||||
@@ -27,9 +26,9 @@
|
||||
Флаги бывают двух основных видов: без значений (переключатели) и со значениями. ``Argenta`` позволяет регистрировать и вводить флаги обоих типов в любой последовательности для одной команды.
|
||||
|
||||
.. note::
|
||||
Ошибки валидации значений являются пассивными, их не нужно обрабатывать явно. У каждого инстанса :ref:`InputFlag <root_api_command_input_flag>` есть поле ``status``, по которому можно определить результат валидации флага. **Конкретная реализация и описание API вы можете найти в разделе** :ref:`Flag <root_api_command_flag>`.
|
||||
Ошибки валидации не выбрасывают исключений. Вместо этого у каждого объекта :ref:`InputFlag <root_api_command_input_flag>` есть атрибут ``status``, по которому можно определить, прошла ли валидация успешно. Подробное описание API для создания флагов находится в разделе :ref:`Flag <root_api_command_flag>`.
|
||||
|
||||
При регистрации флага вы можете указать допустимые для него значения, по умолчанию любое введённое значение для флага будет валидным. Допустимые значения можно указать различными способами:
|
||||
При регистрации флага можно задать правила валидации для его значения. По умолчанию любое значение считается корректным. Валидацию можно настроить несколькими способами:
|
||||
|
||||
-----
|
||||
|
||||
@@ -48,7 +47,7 @@
|
||||
# Эта команда сработает
|
||||
export --format json
|
||||
|
||||
# А эта вызовет ошибку валидации, так как "csv" нет в списке разрешённых
|
||||
# А эта команда не пройдёт валидацию, так как значение "csv" не входит в список разрешённых
|
||||
export --format csv
|
||||
|
||||
-----
|
||||
@@ -56,7 +55,7 @@
|
||||
Проверка с помощью регулярных выражений
|
||||
-----------------------------------------
|
||||
|
||||
Для более сложных проверок вы можете использовать регулярные выражения. Это особенно полезно, когда значение должно соответствовать определённому формату, например, быть email-адресом, датой или номером телефона.
|
||||
Для более сложных проверок можно использовать регулярные выражения. Это полезно, когда значение должно соответствовать определённому формату (например, email-адрес, дата или номер телефона).
|
||||
|
||||
**Пример:**
|
||||
|
||||
@@ -65,10 +64,10 @@
|
||||
.. code-block:: bash
|
||||
:linenos:
|
||||
|
||||
# Сработает, так как значение соответствует формату email
|
||||
# Эта команда выполнится, так как значение соответствует формату email
|
||||
send --email "user@example.com"
|
||||
|
||||
# Вызовет ошибку валидации, так как "user_example.com" — некорректный email
|
||||
# Эта команда не пройдёт валидацию, так как "user_example.com" — некорректный email
|
||||
send --email "user_example.com"
|
||||
|
||||
Встроенная валидация избавляет вас от необходимости писать ручные проверки и делает ваш код более декларативным.
|
||||
Встроенная валидация избавляет от необходимости писать проверки вручную и делает код более декларативным.
|
||||
|
||||
Reference in New Issue
Block a user