Main Navigation

\Aksara\Laboratory\Core->validateForm()

The documentation and cheat sheet of our framework

validateForm() validates submitted create/update data.

Purpose

validateForm() validates submitted create/update data. It lets a controller customize Aksara Core behavior while keeping the request inside the built-in CRUD, rendering, permission, validation, and response pipeline.

When to Use

Use it when you need to extend the Core CRUD flow while keeping Aksara validation, hooks, formatting, and response handling.

Reference

validateForm(array|object $data)

Parameters

ParameterTypeRequiredDefaultDescription
$dataarray|objectYes-Data row, rows, or submitted values.

Return Value

mixed

Returns an Aksara response object when validation fails or when the prepared create/update flow completes. It may return no explicit value when Core continues internally.

Behavior

validateForm() runs inside the Core data/rendering pipeline. Depending on the method, it may format data, validate input, execute a CRUD operation, or return an Aksara response.

Basic Usage

$order = $this->model->getWhere('orders', ['order_id' => 10], 1)->row();
$validation = $this->validateForm($order);

Advanced Usage

$order = $this->model->getWhere('orders', ['order_id' => 10], 1)->row();
$this->setValidation('status', 'required|in_list[draft,paid,cancelled]');

return $this->validateForm($order);

Complete Example

namespace Modules\Orders\Controllers;

use Aksara\Laboratory\Core;

class Orders extends Core
{
    public function process()
    {
        $order = $this->model->getWhere('orders', ['order_id' => 10], 1)->row();
        $this->setValidation('status', 'required|in_list[draft,paid,cancelled]');

        return $this->validateForm($order);
    }
}

Result

The Core pipeline returns the documented value while preserving Aksara validation, hook, permission, audit, and response behavior where applicable.

Notes

  • These methods are usually called by render() internally, but can be useful for advanced modules.
  • Keep direct calls close to the surrounding CRUD logic so the response flow is easy to audit.

Common Mistakes

  • Bypassing Core validation or hooks unintentionally by writing directly to the database.
  • Returning raw arrays when the caller expects an Aksara response object.

Related Methods

Available Methods

addButton addClass addDropdown addField addFilter addSubmitButton addToolbar afterDelete afterInsert afterUpdate allowPublicFormSubmission allowTokenFrom beforeDelete beforeInsert beforeUpdate columnOrder columnSize databaseConfig debug defaultValue deleteBatch deleteData distinct fieldAppend fieldOrder fieldPosition fieldPrepend fieldSize formCallback from fromSubquery getMethod gridView groupBy groupEnd groupField groupStart having havingGroupEnd havingGroupStart havingIn havingLike havingNotIn ignoreQueryString insertData insertId itemReference join like limit mergeContent mergeField modalSize notGroupStart notHavingGroupStart notHavingLike notLike offset orGroupStart orHaving orHavingGroupStart orHavingIn orHavingLike orHavingNotIn orLike orNotGroupStart orNotHavingGroupStart orNotHavingLike orNotLike orWhere orWhereIn orWhereNotIn orderBy parentModule permitUpsert render renderForm renderRead renderTable restrictOnDemo searchable select selectAvg selectCount selectMax selectMin selectSubquery selectSum serialize serializeRow setAiContext setAlias setAttribute setAutocomplete setBreadcrumb setButton setDefault setDescription setField setHeading setIcon setMessages setMethod setOptionLabel setOutput setPermission setPlaceholder setPrimary setRelation setTemplate setTheme setTitle setTooltip setUploadPath setValidation sortable table unsetColumn unsetDelete unsetField unsetMethod unsetRead unsetSelect unsetToolbar unsetTruncate unsetUpdate unsetView updateData validToken validateForm verticalSchema viewOrder where whereIn whereNotIn